mkstr man page on Xenix

Man page or keyword search:  
man Server   1130 pages
apropos Keyword Search (all sections)
Output format
Xenix logo
[printable version]



     MKSTR(CP)		      XENIX System V		     MKSTR(CP)

     Name
	  mkstr - Creates an error message file from C source.

     Syntax
	  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 specified file, placing a massaged
	  version of the input file in a file whose name consists of
	  the specified prefix and the original name.  The optional
	  dash (-) causes the error messages to be placed at the end
	  of the specified message file for recompiling part of a
	  large mkstred program.

	  A typical mkstr command line 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 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 newline character; the null character
	  terminates the message so it can be easily used when
	  retrieved, the newline 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. For example, the command changes

	       error("Error on reading", a2, a3, a4);

	  into

	       error(m, a2, a3, a4);

     Page 1					      (printed 8/7/87)

     MKSTR(CP)		      XENIX System V		     MKSTR(CP)

	  where m is the seek position of the string in the resulting
	  error message file.	The programmer must create a routine
	  error which opens the message file, reads the string, and
	  prints it out.  The following example illustrates such a
	  routine.

     Example
	       char efilname[] =  "/usr/lib/pi_strings";
	       int  efil = -1;

	       error(a1, a2, a3, a4)
	       int a1, a2, a3, a4;
	       {
		    char buf[256];

		    if (efil < 0) {
			 efil = open(efilname, 0);
			 if (efil < 0) {
			      perror(efilname);
			      exit(1);
			 }
		    }
		    if (lseek(efil, (long) a1, 0) || read(efil, buf, 256) <= 0) {
			 printf("Unable to find error msg at seek address %d0,a1);
			 exit(1);
			 }
		    printf(buf, a2, a3, a4);
	       }

     See Also
	  lseek(S), xstr(CP)

     Credit
	  This utility was developed at the University of California
	  at
	  Berkeley and is used with permission.

     Notes
	  All the arguments except the name of the file to be
	  processed are unnecessary.

     Page 2					      (printed 8/7/87)

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Xenix

List of man pages available for Xenix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net