Unix/Linux Go Back    


NetBSD 6.1.5 - man page for mkstr (netbsd section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


MKSTR(1)			   BSD General Commands Manual				 MKSTR(1)

NAME
     mkstr -- create an error message file by massaging C source

SYNOPSIS
     mkstr [-] messagefile prefix file ...

DESCRIPTION
     mkstr creates files containing error messages extracted from C source, and restructures the
     same C source, to use the created error message file.  The intent of mkstr was to reduce the
     size of large programs and reduce swapping (see BUGS section below).

     mkstr processes each of the specified files, placing a restructured version of the input in
     a file whose name consists of the specified prefix and the original name.	A typical usage
     of mkstr is

	   mkstr pistrings xx *.c

     This command causes all the error messages from the C source files in the current directory
     to be placed in the file pistrings and restructured copies of the sources to be placed in
     files whose names are prefixed with xx.

     Options:

     -	     Error messages are placed at the end of the specified message file for recompiling
	     part of a large mkstr ed program.

     mkstr finds error messages in the source by searching for the string `error("' in the input
     stream.  Each time it occurs, the C string starting at the '"' is stored in the message file
     followed by a null character and a new-line character; The new source is restructured with
     lseek(2) pointers into the error message file for retrieval.

	   char efilname = "/usr/lib/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, a1, 0) < 0 || read(efil, buf, 256) <= 0)
			   goto oops;
		   printf(buf, a2, a3, a4);
	   }

SEE ALSO
     xstr(1), lseek(2)

HISTORY
     mkstr appeared in 3.0BSD.

BUGS
     mkstr was intended for the limited architecture of the PDP-11 family.  Very few programs
     actually use it.  It is not an efficient method, the error messages should be stored in the
     program text.

BSD					   June 6, 1993 				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:44 AM.