1.\" Copyright (c) 1980, 1990, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. --- 16 unchanged lines hidden (view full) --- 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.\" @(#)mkstr.1 8.1 (Berkeley) 6/6/93 |
33.\" $FreeBSD: head/usr.bin/mkstr/mkstr.1 95124 2002-04-20 12:18:28Z charnier $ |
34.\" 35.Dd June 6, 1993 36.Dt MKSTR 1 37.Os 38.Sh NAME 39.Nm mkstr 40.Nd create an error message file by massaging C source 41.Sh SYNOPSIS 42.Nm 43.Op Fl 44.Ar messagefile 45.Ar prefix Ar 46.Sh DESCRIPTION |
47The 48.Nm 49utility creates files containing error messages extracted from C source, |
50and restructures the same C source, to utilize the created error message 51file. 52The intent of 53.Nm 54was to reduce the size of large programs and 55reduce swapping (see 56.Sx BUGS 57section below). 58.Pp |
59The 60.Nm 61utility processes each of the specified |
62.Ar files , 63placing a restructured version of the input in a file whose name 64consists of the specified 65.Ar prefix 66and the original name. 67A typical usage of 68.Nm 69is --- 8 unchanged lines hidden (view full) --- 78files whose names are prefixed with 79.Ar \&xx . 80.Pp 81Options: 82.Bl -tag -width indent 83.It Fl 84Error messages are placed at the end of the specified 85message file for recompiling part of a large |
86.Nm Ns ed |
87program. 88.El 89.Pp |
90The 91.Nm 92utility finds error messages in the source by |
93searching for the string 94.Li \&`error("' 95in the input stream. 96Each time it occurs, the C string starting at the 97.Sq \&"\& 98is stored 99in the message file followed by a null character and a new-line character; 100The new source is restructured with --- 17 unchanged lines hidden (view full) --- 118 err(1, "%s", efilname); 119 printf(buf, a2, a3, a4); 120} 121.Ed 122.Sh SEE ALSO 123.Xr xstr 1 , 124.Xr lseek 2 125.Sh HISTORY |
126A 127.Nm 128utility appeared in |
129.Bx 3.0 . 130.Sh BUGS |
131The 132.Nm 133utility was intended for the limited architecture of the PDP 11 family. |
134Very few programs actually use it. 135The Pascal interpreter, 136.Xr \&pi 1 137and the editor, 138.Xr \&ex 1 139are two programs that are built this way. 140It is not an efficient method, the error messages 141should be stored in the program text. |