*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> mkstr (1)              



NAME    [Toc]    [Back]

       mkstr - Creates an error message file

SYNOPSIS    [Toc]    [Back]

       mkstr [-] message_file prefix file...

       The  mkstr  command  is used to create files of error messages
 that can be removed from a single C source file,  or
       from multiple source files.

OPTIONS    [Toc]    [Back]

       Causes  messages  to  be appended to the specified message
       file, instead of creating a new file.

DESCRIPTION    [Toc]    [Back]

       The use of mkstr can reduce the size of programs that contain
  many error diagnostics and reduce system overhead in
       running such programs.

       The mkstr command processes each of the  specified  files,
       placing  an  altered  version  of the input file in a file
       whose name consists of the specified prefix and the original

       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 and is 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 catalog
 the error message file neatly to see its contents.

       The altered copy of the input file then contains a lseek()
       pointer  into  the  file  that can be used to retrieve the
       message to its appropriate source file, as  shown  in  the
       following example of a program that mkstr produces.

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

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

          if (efil < 0) {
          efil = open(efilname, 0);
          if (efil < 0) { oops:
          if ((lseek(efil, (long) a1, 0)) == (long)-1 ) ||
                 read(efil, buf, 256) <= 0)
          goto oops;
          printf(buf, a2, a3, a4); }

EXAMPLES    [Toc]    [Back]

       To  put  the  error  messages from the current directory C
       source files into a file called  pi_strings,  and  to  put
       processed  copies of the source for these files into filenames
 prefixed by xx, enter: mkstr pi_strings  xx  *.c  To
       append  the  error messages from an additional source file
       to pi_strings, enter: mkstr - pi_strings xx newfile.c

SEE ALSO    [Toc]    [Back]

       Commands:  xstr(1)

       Functions:  lseek(2)

[ Back ]
 Similar pages
Name OS Title
mkstr FreeBSD create an error message file by massaging C source
mkstr NetBSD create an error message file by massaging C source
mkstr IRIX create an error message file by massaging C source
mkstr OpenBSD create an error message file by massaging C source
gencat Tru64 Creates and modifies a message catalog
kvm_geterr OpenBSD get error message on kvm descriptor
kvm_geterr FreeBSD get error message on kvm descriptor
pam_verror FreeBSD display an error message
pam_error FreeBSD display an error message
catmsgfmt IRIX Formats an error message
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service