home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum7.lzh / RICO / MAN / man.lose < prev    next >
Text File  |  1988-09-26  |  2KB  |  71 lines

  1.  
  2. lose, warn, lose_title - easy routines for printing error messages
  3.  
  4. SYNOPSIS
  5.  
  6.      extern char *ErrStr, *ProgTitle;
  7.  
  8.      lose_title(title)
  9.      char *title;
  10.  
  11.      lose(format [ , pointer ] . . .  )
  12.      char *format;
  13.  
  14.      warn(format [ , pointer ] . . .  )
  15.      char *format;
  16.  
  17.      #include <lose.h>        /* for values of errMode */
  18.  
  19.      PrintErr(errMode, format [    , pointer ] . .    .  )
  20.      int errMode;        /* ERR_FATAL, ERR_WARN, or ERR_NOTE */
  21.      char *format;
  22.  
  23. DESCRIPTION
  24.  
  25.      These routines provide an easy to use error printing system.
  26.  
  27.      lose_title    is called at the beginning  of    the  user's  main
  28.      with  argv[0] as title. This sets ProgTitle with the name of
  29.      the program.  Errors of various severity levels can  now  be
  30.      processed with calls to lose, warn or PrintErr.
  31.  
  32.      lose prints an error message (described below) and    exits the
  33.      program with value    1.
  34.  
  35.      warn prints an error message, sets    errno to 0, and    returns.
  36.  
  37.      PrintErr performs one of the above    depending on the value of
  38.      errMode;  ERR_FATAL selects lose, ERR_WARN    selects    warn, and
  39.      ERR_NOTE just places the error message in ErrStr.
  40.  
  41. ERROR MESSAGE CONSTRUCTION
  42.  
  43.      The error message is built by calling vsprintf with the given
  44.      parameters; it is then prefixed with the program name.
  45.  
  46.      Then, if errno (see man errno) is non-zero, the  appropriate
  47.      error message (see    sys_nerr in perror(3)) is appended.  Once
  48.      the error message has been    constructed, errno is reset to 0.
  49.  
  50. EXAMPLE
  51.  
  52.      lose_title(argv[0]);
  53.      if (argc != 2)
  54.      Epitaph("Usage: %s filename", argv[0]);
  55.      ...
  56.      if ((fp=fopen(argv[1], "r")) == NULL)
  57.      lose("Can't open source file %s", argv[1]);
  58.      ...
  59.      if (line is bad)
  60.      Epitaph("Badly formatted line %s at line %d of file %s",
  61.         line, lineNumber, argv[1]);
  62.  
  63. SEE ALSO
  64.  
  65.      perror, argproc, vsprintf, varargs
  66.  
  67. LIBRARY
  68.  
  69.      Use argproc.l
  70.  
  71.