chiark / gitweb /
Merge gregkh@ehlo.org:/home/kay/public_html/pub/scm/linux/hotplug/udev-kay
[elogind.git] / extras / volume_id / udev_volume_id.c
index c36b89f8bd4d8d443cdde11ff6400226e22fbf0e..7c6fc4050d6fb70ec5cd76d2c3257d6f911a124e 100644 (file)
  *
  */
 
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE 1
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 
 #define BLKGETSIZE64 _IOR(0x12,114,size_t)
 
-#ifdef LOG
-void log_message(int level, const char *format, ...)
+#ifdef USE_LOG
+void log_message(int priority, const char *format, ...)
 {
        va_list args;
+       static int udev_log = -1;
+
+       if (udev_log == -1) {
+               const char *value;
+
+               value = getenv("UDEV_LOG");
+               if (value)
+                       udev_log = log_priority(value);
+               else
+                       udev_log = LOG_ERR;
+       }
+
+       if (priority > udev_log)
+               return;
 
        va_start(args, format);
-       vsyslog(level, format, args);
+       vsyslog(priority, format, args);
        va_end(args);
 }
 #endif