Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mkstr(1) [bsd man page]

MKSTR(1)						      General Commands Manual							  MKSTR(1)

NAME
mkstr - create an error message file by massaging C source SYNOPSIS
mkstr [ - ] messagefile prefix file ... DESCRIPTION
Mkstr is used to create files of error messages. Its use can make programs with large numbers of error diagnostics much smaller, and reduce system overhead in running the program as the error messages do not have to be constantly swapped in and out. Mkstr will process each of the specified files, placing a massaged version of the input file in a file whose name consists of the specified prefix and the original name. A typical usage of mkstr would be mkstr pistrings xx *.c This command would cause all the error messages from the C source files in the current directory to be placed in the file pistrings and processed copies of the source for these files to be placed in files whose names are prefixed with xx. To process the error messages in the source to the message file mkstr keys on the string `error("' in the input stream. Each time it occurs, the C string starting at the `"' is placed in the message file followed by a null character and a new-line character; the null character terminates the message so it can be easily used when retrieved, the new-line character makes it possible to sensibly cat the error message file to see its contents. The massaged copy of the input file then contains a lseek pointer into the file which can be used to retrieve the message, i.e.: char efilname[] = "/usr/share/pascal/pi_strings"; int efil = -1; error(a1, a2, a3, a4) { char buf[256]; if (efil < 0) { efil = open(efilname, 0); if (efil < 0) { oops: perror(efilname); exit(1); } } if (lseek(efil, (long) a1, 0) || read(efil, buf, 256) <= 0) goto oops; printf(buf, a2, a3, a4); } The optional - causes the error messages to be placed at the end of the specified message file for recompiling part of a large mkstred pro- gram. SEE ALSO
lseek(2), xstr(1) 3rd Berkeley Distribution October 22, 1996 MKSTR(1)

Check Out this Related Man Page

mkstr(1)						      General Commands Manual							  mkstr(1)

NAME
mkstr - extract error messages from C source into a file SYNOPSIS
messagefile prefix file... DESCRIPTION
examines a C program and creates a file containing error message strings used by the program. Programs with many error diagnostics can be made much smaller by referring to places in the file, and reduce system overhead in running the program. processes each of the specified files, placing a revised version of each in a file whose name consists of the specified prefix concatenated in front of the original name. A typical usage of would be This command would cause all the error messages from the C source files in the current directory to be placed in the file and revised copies of the source for these files to be placed in files whose names are prefixed with When processing the error messages in the source for transfer to the message file, searches for the string in the input file. Each time it is encountered, the C string starting after the leading quote is placed in the message file, followed by a null character and a newline character. The null character terminates the message so that it can be easily used when retrieved, and the newline character makes it pos- sible to conveniently list the error message file (using etc.; see cat(1) and more(1)) to review its contents. The modified copy of the input file is identical to the original, except that each occurrence of any string that was moved to the error message file is replaced by an offset pointer usable by to retrieve the message. If the command line includes the optional extracted error messages are placed at the end of the specified message file (append) instead of overwriting it. This enables you to process individual files that are part of larger programs that have been previously processed by with- out reprocessing all the files. All functions used by the original program whose names end in that also can take a constant string as their first argument should be rewritten so that they search for the string in the error message file. For example, a program based on the previous example usage would resemble the following: EXTERNAL INFLUENCES
Environment Variables determines the interpretation of comments and string literals as single- and/or multibyte characters. If is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty vari- able. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C". See environ(5). International Code Set Support Single- and multibyte character code sets are supported within file names, comments, and string literals. WARNINGS
Strings in calls to functions whose names end in notably may be replaced with offsets by Calls to error functions whose first argument is not a string constant are left unmodified without warning. SEE ALSO
xstr(1), lseek(2), perror(3C). mkstr(1)
Man Page

Featured Tech Videos