From eb8c9ad601531d79b253b1f17cc7bca9fc7cc3c9 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 28 Aug 2018 14:10:21 +0200 Subject: [PATCH] logging: allow reopening stderr LOG_OpenFileLog(NULL) can be now used to reopen stderr. --- logging.c | 10 +++++++--- logging.h | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/logging.c b/logging.c index 0f73a45..828ae30 100644 --- a/logging.c +++ b/logging.c @@ -184,9 +184,13 @@ LOG_OpenFileLog(const char *log_file) { FILE *f; - f = fopen(log_file, "a"); - if (!f) - LOG_FATAL("Could not open log file %s", log_file); + if (log_file) { + f = fopen(log_file, "a"); + if (!f) + LOG_FATAL("Could not open log file %s", log_file); + } else { + f = stderr; + } /* Enable line buffering */ setvbuf(f, NULL, _IOLBF, BUFSIZ); diff --git a/logging.h b/logging.h index 5bb46f5..67931dc 100644 --- a/logging.h +++ b/logging.h @@ -99,7 +99,7 @@ extern void LOG_Message(LOG_Severity severity, const char *format, ...); */ extern void LOG_SetDebugLevel(int level); -/* Log messages to a file instead of stderr */ +/* Log messages to a file instead of stderr, or stderr again if NULL */ extern void LOG_OpenFileLog(const char *log_file); /* Log messages to syslog instead of stderr */