=================================================================== RCS file: /cvs/cvs/blind/log.c,v retrieving revision 1.2 retrieving revision 1.4 diff -u -p -r1.2 -r1.4 --- blind/log.c 2022/03/17 09:30:59 1.2 +++ blind/log.c 2022/03/18 09:20:46 1.4 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Daniel Kroczynski +1;95;0c * Copyright (c) 2022 Daniel Kroczynski * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -19,13 +19,15 @@ #include #include -static int log_backgnd; +static int log_background; static int log_verbose; const char *log_procname; void log_init(int, int); void log_setv(int); int log_getv(void); +void log_send(const char *, va_list) + __attribute__((__format__ (printf, 1, 0))); void log_info(const char *, ...) __attribute__((__format__ (printf, 1, 2))); void log_debug(const char *, ...) @@ -39,8 +41,8 @@ log_init(int background, int facility) if (__progname != NULL) log_procname = __progname; - log_backgnd = background; - if (log_backgnd) + log_background = background; + if (log_background) openlog(log_procname, LOG_PID | LOG_NDELAY, facility); tzset(); @@ -59,19 +61,23 @@ log_getv(void) } void -log_info(const char *info, ...) +log_send(const char *info, va_list ap) { - va_list ap; - - va_start(ap, info); - - if (log_backgnd) + if (log_background) vsyslog(LOG_INFO, info, ap); else { vfprintf(stderr, info, ap); fprintf(stderr, "\n"); } - +} + +void +log_info(const char *info, ...) +{ + va_list ap; + + va_start(ap, info); + log_send(info, ap); va_end(ap); } @@ -82,14 +88,7 @@ log_debug(const char *info, ...) if (log_verbose) { va_start(ap, info); - - if (log_backgnd) - vsyslog(LOG_INFO, info, ap); - else { - vfprintf(stderr, info, ap); - fprintf(stderr, "\n"); - } - + log_send(info, ap); va_end(ap); } }