home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume18 / geneal / part01 / errorman.c < prev    next >
C/C++ Source or Header  |  1989-03-08  |  1KB  |  74 lines

  1. /* errorman.c - general error handling routines
  2.  * Written by Jim McBeath (jimmc) at SCI
  3.  *
  4.  * To use these routines, the user must have the variable Progname declared
  5.  * elsewhere; also, these routines call vsprintf, so that must be included
  6.  * in the load list.
  7.  *
  8.  *  8.Jan.88  jimmc  Lint cleanup
  9.  */
  10.  
  11. #include <stdio.h>
  12. #include <strings.h>
  13.  
  14. #define ERROR_EXIT 1
  15. #define BSIZE 200
  16.  
  17. extern char *Progname;        /* user must set up the progname to use */
  18.  
  19. /*..........*/
  20.  
  21. /* VARARGS1 */
  22. warning(s,args)
  23. char *s;
  24. {
  25. char buf[BSIZE];
  26.  
  27.     vsprintf(buf,s,&args);
  28.     fprintf(stderr,"%s: warning: %s\n", Progname, buf);
  29. }
  30.  
  31. /*..........*/
  32. /* hack... */
  33. fferror(s) char *s; {fatalerr(s);}
  34.  
  35. /* VARARGS1 */
  36. fatalerr(s,args)
  37. char *s;
  38. {
  39. char buf[BSIZE];
  40.  
  41.     vsprintf(buf,s,&args);
  42.     fprintf(stderr,"%s: fatal error: %s\n", Progname, buf);
  43.     exit(ERROR_EXIT);
  44. }
  45.  
  46. /*..........*/
  47.  
  48. /* VARARGS1 */
  49. fatalperr(s,args)
  50. char *s;
  51. {
  52. char buf[BSIZE];
  53. char buf2[BSIZE];
  54.  
  55.     vsprintf(buf,s,&args);
  56.     sprintf(buf2,"%s: fatal error: %s: ", Progname, buf);
  57.     perror(buf2);
  58.     exit(ERROR_EXIT);
  59. }
  60.  
  61. /*..........*/
  62.  
  63. /* VARARGS1 */
  64. errormsg(s,args)
  65. char *s;
  66. {
  67. char buf[BSIZE];
  68.  
  69.     (void)vsprintf(buf,s,&args);
  70.     fprintf(stderr,"%s: error: %s\n", Progname, buf);
  71. }
  72.  
  73. /* end */
  74.