]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
ulogd: Use /dev/null as dummy logfile when logging to syslog
authorFelix Janda <felix.janda@posteo.de>
Sat, 16 May 2015 15:43:23 +0000 (17:43 +0200)
committerEric Leblond <eric@regit.org>
Tue, 23 Jun 2015 12:39:01 +0000 (14:39 +0200)
Fixes compilation error with musl libc:

ulogd.c:86:13: error: storage size of 'syslog_dummy' isn't known
 static FILE syslog_dummy;

Signed-off-by: Felix Janda <felix.janda@posteo.de>
src/ulogd.c

index e7cde39d7e466e4a7270903ae389f242a46a72df..958c30a2dbbaa0c266e2c340620654a20dc7b5e0 100644 (file)
@@ -83,7 +83,7 @@ static char *ulogd_logfile = NULL;
 static const char *ulogd_configfile = ULOGD_CONFIGFILE;
 static const char *ulogd_pidfile = NULL;
 static int ulogd_pidfile_fd = -1;
-static FILE syslog_dummy;
+static FILE *syslog_dummy;
 
 static int info_mode = 0;
 
@@ -427,7 +427,7 @@ void __ulogd_log(int level, char *file, int line, const char *format, ...)
        if (level < loglevel_ce.u.value)
                return;
 
-       if (logfile == &syslog_dummy) {
+       if (logfile == syslog_dummy) {
                /* FIXME: this omits the 'file' string */
                va_start(ap, format);
                vsyslog(ulogd2syslog_level(level), format, ap);
@@ -950,7 +950,7 @@ static int logfile_open(const char *name)
                logfile = stdout;
        } else if (!strcmp(name, "syslog")) {
                openlog("ulogd", LOG_PID, LOG_DAEMON);
-               logfile = &syslog_dummy;
+               logfile = syslog_dummy = fopen("/dev/null", "w");
        } else {
                logfile = fopen(ulogd_logfile, "a");
                if (!logfile) {
@@ -1240,7 +1240,7 @@ static void sigterm_handler(int signal)
        unload_plugins();
 #endif
 
-       if (logfile != NULL  && logfile != stdout && logfile != &syslog_dummy) {
+       if (logfile != NULL  && logfile != stdout) {
                fclose(logfile);
                logfile = NULL;
        }
@@ -1262,7 +1262,7 @@ static void signal_handler(int signal)
        switch (signal) {
        case SIGHUP:
                /* reopen logfile */
-               if (logfile != stdout && logfile != &syslog_dummy) {
+               if (logfile != stdout && logfile != syslog_dummy) {
                        fclose(logfile);
                        logfile = fopen(ulogd_logfile, "a");
                        if (!logfile) {