home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume17 / delete / part01 / errors.c < prev    next >
C/C++ Source or Header  |  1991-02-25  |  1KB  |  50 lines

  1. /*
  2.  * $Source: /afs/athena.mit.edu/astaff/project/delete/src/RCS/errors.c,v $
  3.  * $Author: jik $
  4.  *
  5.  * This program is part of a package including delete, undelete,
  6.  * lsdel, expunge and purge.  The software suite is meant as a
  7.  * replacement for rm which allows for file recovery.
  8.  * 
  9.  * Copyright (c) 1989 by the Massachusetts Institute of Technology.
  10.  * For copying and distribution information, see the file "mit-copyright.h."
  11.  */
  12.  
  13. #if (!defined(lint) && !defined(SABER))
  14.      static char rcsid_errors_c[] = "$Header: /afs/athena.mit.edu/astaff/project/delete/src/RCS/errors.c,v 1.3 90/11/12 02:28:28 jik Exp $";
  15. #endif
  16.  
  17. #include <com_err.h>
  18. #include <stdio.h>
  19. #include "delete_errs.h"
  20. #include "mit-copyright.h"
  21.  
  22. char *whoami;
  23. int error_reported = 1;
  24. int error_occurred = 0;
  25. int report_errors = 1;
  26. int error_code = 0;
  27.  
  28. /*
  29.  * Proper use of this procedure requires strict adherance to the way
  30.  * it is supposed to be used by all procedures in a program.  Whenever
  31.  * there is an error, set_error must be called with the error value.
  32.  * Then, either the procedure that detects the error must call
  33.  * error(), or it must pass the error up to its parent for the parent
  34.  * to report.
  35.  */
  36.  
  37.  
  38. void error(str)
  39. char *str;
  40. {
  41.      if (report_errors && (! error_reported)) {
  42.       if (*str)
  43.            fprintf(stderr, "%s: %s: %s\n", whoami, str,
  44.                error_message(error_code));
  45.       else
  46.            fprintf(stderr, "%s: %s\n", whoami, error_message(error_code));
  47.      }
  48.      error_reported = 1;
  49. }
  50.