[BACK]Return to log.c CVS log [TXT][DIR] Up to [local] / blind

Diff for /blind/log.c between version 1.9 and 1.10

version 1.9, 2022/04/03 09:14:25 version 1.10, 2022/04/03 11:01:52
Line 22 
Line 22 
 #include <syslog.h>  #include <syslog.h>
 #include <time.h>  #include <time.h>
   
 static int  log_bgnd;  static int      log_bgnd;
 static int  log_verb;  static int      log_verb;
 const char *log_name;  const char     *log_name;
   
 void    log_init(int, int);  void    log_init(int, int);
 void    log_set(int);  void    log_set(int);
Line 68  log_get(void)
Line 68  log_get(void)
 void  void
 log_send(const char *info, va_list ap)  log_send(const char *info, va_list ap)
 {  {
           char   *ninf;
   
         if (info != NULL) {          if (info != NULL) {
                 if (log_bgnd)                  if (log_bgnd)
                         vsyslog(LOG_INFO, info, ap);                          vsyslog(LOG_INFO, info, ap);
                 else {                  else {
                         vfprintf(stderr, info, ap);                          if (asprintf(&ninf, "%s\n", info) == -1) {
                         fprintf(stderr, "\n");                                  vfprintf(stderr, info, ap);
                                   fprintf(stderr, "\n");
                           } else {
                                   vfprintf(stderr, ninf, ap);
                                   free(ninf);
                           }
                           fflush(stderr);
                 }                  }
         }          }
 }  }
Line 103  log_debug(const char *info, ...)
Line 111  log_debug(const char *info, ...)
 void  void
 log_fatal(const char *info, ...)  log_fatal(const char *info, ...)
 {  {
         extern struct blind *bl;          extern struct blind *bl;
           static char s[BUFSIZ];
         va_list ap;          va_list ap;
   
         va_start(ap, info);          va_start(ap, info);
         log_send(info, ap);          if (info != NULL)
                   (void)vsnprintf(s, sizeof(s), info, ap);
           else
                   s[0] = '\0';
           if (errno)
                   log_info("%s: %s", strerror(errno), s);
           else
                   log_info("Unknown error: %s", s);
         va_end(ap);          va_end(ap);
         log_info("%s", strerror(errno));          if (bl != NULL)
         if (bl != NULL)                  free(bl);
                 free(bl);  
         exit(1);          exit(1);
 }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

https://cvs.kroczynski.net