Merge branch 'collectd-4.0' into collectd-4.1
[collectd.git] / src / sensors.c
index e1bc7aa..a30549f 100644 (file)
 
 #if defined(HAVE_SENSORS_SENSORS_H)
 # include <sensors/sensors.h>
-#else
-# undef HAVE_LIBSENSORS
 #endif
 
-#if defined(HAVE_LIBSENSORS)
-# define SENSORS_HAVE_READ 1
-#else
-# define SENSORS_HAVE_READ 0
-#endif
-
-#if SENSORS_HAVE_READ
 #define SENSOR_TYPE_VOLTAGE     0
 #define SENSOR_TYPE_FANSPEED    1
 #define SENSOR_TYPE_TEMPERATURE 2
@@ -347,12 +338,24 @@ static void sensors_submit (const char *plugin_instance,
                const char *type, const char *type_instance,
                double val)
 {
+       char match_key[1024];
+       int status;
+
        value_t values[1];
        value_list_t vl = VALUE_LIST_INIT;
 
-       if ((sensor_list != NULL)
-                       && (ignorelist_match (sensor_list, type_instance)))
+       status = snprintf (match_key, sizeof (match_key), "%s/%s-%s",
+                       plugin_instance, type, type_instance);
+       if ((status < 1) || (status >= sizeof (match_key)))
                return;
+       match_key[sizeof (match_key) - 1] = '\0';
+
+       if (sensor_list != NULL)
+       {
+               DEBUG ("sensors plugin: Checking ignorelist for `%s'", match_key);
+               if (ignorelist_match (sensor_list, match_key))
+                       return;
+       }
 
        values[0].gauge = val;
 
@@ -421,14 +424,11 @@ static int sensors_read (void)
 
        return (0);
 } /* int sensors_read */
-#endif /* SENSORS_HAVE_READ */
 
 void module_register (void)
 {
-#if SENSORS_HAVE_READ
        plugin_register_config ("sensors", sensors_config,
                        config_keys, config_keys_num);
        plugin_register_read ("sensors", sensors_read);
        plugin_register_shutdown ("sensors", sensors_shutdown);
-#endif
 } /* void module_register */