home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / rpm / lib / messages.c < prev    next >
C/C++ Source or Header  |  1997-09-17  |  1KB  |  71 lines

  1. #include <stdarg.h>
  2. #include <stdio.h>
  3.  
  4. #include "messages.h"
  5. #include "rpmlib.h"
  6.  
  7. static minLevel = RPMMESS_NORMAL;
  8.  
  9. void rpmIncreaseVerbosity(void) {
  10.     minLevel--;
  11. }
  12.  
  13. void rpmSetVerbosity(int level) {
  14.     minLevel = level;
  15. }
  16.  
  17. int rpmGetVerbosity(void)
  18. {
  19.    return minLevel;
  20. }
  21.  
  22. int rpmIsDebug(void)
  23. {
  24.     return (minLevel <= RPMMESS_DEBUG);
  25. }
  26.  
  27. int rpmIsVerbose(void)
  28. {
  29.     return (minLevel <= RPMMESS_VERBOSE);
  30. }
  31.  
  32. void rpmMessage(int level, char * format, ...) {
  33.     va_list args;
  34.  
  35.     va_start(args, format);
  36.     if (level >= minLevel) {
  37.     switch (level) {
  38.       case RPMMESS_VERBOSE:
  39.       case RPMMESS_NORMAL:
  40.         vfprintf(stdout, format, args);
  41.         fflush(stdout);
  42.         break;
  43.         
  44.       case RPMMESS_DEBUG:
  45.         fprintf(stdout, "D: ");
  46.         vfprintf(stdout, format, args);
  47.         fflush(stdout);
  48.         break;
  49.  
  50.       case RPMMESS_WARNING:
  51.         fprintf(stderr, "warning: ");
  52.         vfprintf(stderr, format, args);
  53.         fflush(stderr);
  54.         break;
  55.  
  56.       case RPMMESS_ERROR:
  57.         fprintf(stderr, "error: ");
  58.         vfprintf(stderr, format, args);
  59.         fflush(stderr);
  60.         break;
  61.  
  62.       case RPMMESS_FATALERROR:
  63.         fprintf(stderr, "fatal error: ");
  64.         vfprintf(stderr, format, args);
  65.         fflush(stderr);
  66.         exit(1);
  67.         break;
  68.     }
  69.     }
  70. }
  71.