X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Flogger.c;h=032349d1e0eaeaeffa886741f22e3800417a23da;hp=de6622701b76200dbd4237a5650383d3024be52e;hb=eefa28059ab989c915a7d95fb4ae728abd7ce713;hpb=0b9175e998c2180e5d73ef3d644a49d620c68cad diff --git a/src/logger.c b/src/logger.c index de662270..032349d1 100644 --- a/src/logger.c +++ b/src/logger.c @@ -17,32 +17,28 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: logger.c,v 1.1.2.1 2003/07/06 22:11:31 guus Exp $ + $Id: logger.c,v 1.1.2.5 2003/07/22 20:55:19 guus Exp $ */ -#include -#include -#include +#include "system.h" #include "conf.h" #include "logger.h" -#include "system.h" - -volatile int debug_level = DEBUG_NOTHING; -int logmode = LOGMODE_STDERR; -pid_t logpid; +debug_t debug_level = DEBUG_NOTHING; +static logmode_t logmode = LOGMODE_STDERR; +static pid_t logpid; extern char *logfilename; -FILE *logfile = NULL; -const char *logident = NULL; - -void openlogger(const char *ident, int mode) { - char *fname; +static FILE *logfile = NULL; +static const char *logident = NULL; +void openlogger(const char *ident, logmode_t mode) { logident = ident; logmode = mode; switch(mode) { + case LOGMODE_NULL: + break; case LOGMODE_STDERR: logpid = getpid(); break; @@ -58,14 +54,20 @@ void openlogger(const char *ident, int mode) { } } -void vlogger(int priority, const char *format, va_list ap) { +void logger(int priority, const char *format, ...) { + va_list ap; + + va_start(ap, format); + switch(logmode) { + case LOGMODE_NULL: + break; case LOGMODE_STDERR: vfprintf(stderr, format, ap); fprintf(stderr, "\n"); break; case LOGMODE_FILE: - fprintf(logfile, "%d %s[%d]: ", time(NULL), logident, logpid); + fprintf(logfile, "%ld %s[%d]: ", time(NULL), logident, logpid); vfprintf(logfile, format, ap); fprintf(logfile, "\n"); break; @@ -81,10 +83,15 @@ void vlogger(int priority, const char *format, va_list ap) { #endif break; } + + va_end(ap); } void closelogger(void) { switch(logmode) { + case LOGMODE_NULL: + case LOGMODE_STDERR: + break; case LOGMODE_FILE: fclose(logfile); break;