tail plugin: Implement the "GaugePersist" type.
[collectd.git] / src / daemon / utils_match.c
index b4cd517..31ee6df 100644 (file)
@@ -25,6 +25,7 @@
  **/
 
 #include "collectd.h"
+
 #include "common.h"
 #include "plugin.h"
 
@@ -169,7 +170,7 @@ static int default_callback (const char __attribute__((unused)) *str,
 
     if (data->ds_type & UTILS_MATCH_CF_DERIVE_INC)
     {
-      data->value.counter++;
+      data->value.derive++;
       data->values_num++;
       return (0);
     }
@@ -294,14 +295,13 @@ cu_match_t *match_create_simple (const char *regex,
 
 void match_value_reset (cu_match_value_t *mv)
 {
-  if (mv == NULL)
+  if ((mv == NULL)
+      || ((mv->ds_type & UTILS_MATCH_DS_TYPE_GAUGE) == 0)
+      || ((mv->ds_type & UTILS_MATCH_CF_GAUGE_PERSIST) != 0))
     return;
 
-  if (mv->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
-  {
-    mv->value.gauge = NAN;
-    mv->values_num = 0;
-  }
+  mv->value.gauge = NAN;
+  mv->values_num = 0;
 } /* }}} void match_value_reset */
 
 void match_destroy (cu_match_t *obj)
@@ -323,7 +323,6 @@ int match_apply (cu_match_t *obj, const char *str)
   regmatch_t re_match[32];
   char *matches[32] = { 0 };
   size_t matches_num;
-  size_t i;
 
   if ((obj == NULL) || (str == NULL))
     return (-1);
@@ -375,7 +374,7 @@ int match_apply (cu_match_t *obj, const char *str)
     }
   }
 
-  for (i = 0; i < matches_num; i++)
+  for (size_t i = 0; i < matches_num; i++)
   {
     sfree (matches[i]);
   }