chiark / gitweb /
[PATCH] udev - fix cdrom symlink rule
[elogind.git] / logging.h
index 3ee3e1acf05967a03540dbe07ca5e9089e29c0ce..df0d7dedcea1ceb1b72ccd9a74341de84815913e 100644 (file)
--- a/logging.h
+++ b/logging.h
@@ -31,6 +31,7 @@
 
 #ifdef LOG
 #include <stdarg.h>
+#include <unistd.h>
 #include <syslog.h>
 
 #undef info
        } while (0)
 #endif
 
+/* each program must declare this variable and function somewhere */
+extern unsigned char logname[42];
+extern int log_ok(void);
+
 static void log_message (int level, const char *format, ...)
        __attribute__ ((format (printf, 2, 3)));
 static inline void log_message (int level, const char *format, ...)
 {
        va_list args;
 
+       if (!log_ok())
+               return;
+
        va_start(args, format);
        vsyslog(level, format, args);
        va_end(args);
 }
 
-/* each program must declare this variable somewhere */
-extern unsigned char logname[42];
-
 #undef init_logging
 static inline void init_logging(char *program_name)
 {