contrib/exec-nagios.px: Make it possible to run the same script multiple times.
[collectd.git] / src / utils_tail_match.c
index b71e205..f518b1c 100644 (file)
@@ -72,7 +72,11 @@ static int simple_submit_match (cu_match_t *match, void *user_data)
   if (match_value == NULL)
     return (-1);
 
-  values[0] = match_value->value;
+  if ((match_value->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
+      && (match_value->values_num == 0))
+    values[0].gauge = NAN;
+  else
+    values[0] = match_value->value;
 
   vl.values = values;
   vl.values_len = 1;
@@ -81,10 +85,17 @@ static int simple_submit_match (cu_match_t *match, void *user_data)
   sstrncpy (vl.plugin, data->plugin, sizeof (vl.plugin));
   sstrncpy (vl.plugin_instance, data->plugin_instance,
       sizeof (vl.plugin_instance));
+  sstrncpy (vl.type, data->type, sizeof (vl.type));
   sstrncpy (vl.type_instance, data->type_instance,
       sizeof (vl.type_instance));
 
-  plugin_dispatch_values (data->type, &vl);
+  plugin_dispatch_values (&vl);
+
+  if (match_value->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
+  {
+    match_value->value.gauge = NAN;
+    match_value->values_num = 0;
+  }
 
   return (0);
 } /* int simple_submit_match */