Various plugins: Use the IS_TRUE and IS_FALSE macros everywhere.
[collectd.git] / src / csv.c
index 5c43b8a..0b34687 100644 (file)
--- a/src/csv.c
+++ b/src/csv.c
@@ -61,37 +61,50 @@ static int value_list_to_string (char *buffer, int buffer_len,
        for (i = 0; i < ds->ds_num; i++)
        {
                if ((ds->ds[i].type != DS_TYPE_COUNTER)
-                               && (ds->ds[i].type != DS_TYPE_GAUGE))
+                               && (ds->ds[i].type != DS_TYPE_GAUGE)
+                               && (ds->ds[i].type != DS_TYPE_DERIVE)
+                               && (ds->ds[i].type != DS_TYPE_ABSOLUTE))
                        return (-1);
 
-               if (ds->ds[i].type == DS_TYPE_COUNTER)
+               if (ds->ds[i].type == DS_TYPE_GAUGE) 
                {
-                       if (store_rates == 0)
-                       {
-                               status = ssnprintf (buffer + offset,
-                                               buffer_len - offset,
-                                               ",%llu",
-                                               vl->values[i].counter);
-                       }
-                       else /* if (store_rates == 1) */
+                       status = ssnprintf (buffer + offset, buffer_len - offset,
+                                       ",%lf", vl->values[i].gauge);
+               } 
+               else if (store_rates != 0)
+               {
+                       if (rates == NULL)
+                               rates = uc_get_rate (ds, vl);
+                       if (rates == NULL)
                        {
-                               if (rates == NULL)
-                                       rates = uc_get_rate (ds, vl);
-                               if (rates == NULL)
-                               {
-                                       WARNING ("csv plugin: "
-                                                       "uc_get_rate failed.");
-                                       return (-1);
-                               }
-                               status = ssnprintf (buffer + offset,
-                                               buffer_len - offset,
-                                               ",%lf", rates[i]);
+                               WARNING ("csv plugin: "
+                                               "uc_get_rate failed.");
+                               return (-1);
                        }
+                       status = ssnprintf (buffer + offset,
+                                       buffer_len - offset,
+                                       ",%lf", rates[i]);
                }
-               else /* if (ds->ds[i].type == DS_TYPE_GAUGE) */
+               else if (ds->ds[i].type == DS_TYPE_COUNTER)
                {
-                       status = ssnprintf (buffer + offset, buffer_len - offset,
-                                       ",%lf", vl->values[i].gauge);
+                       status = ssnprintf (buffer + offset,
+                                       buffer_len - offset,
+                                       ",%llu",
+                                       vl->values[i].counter);
+               }
+               else if (ds->ds[i].type == DS_TYPE_DERIVE)
+               {
+                       status = ssnprintf (buffer + offset,
+                                       buffer_len - offset,
+                                       ",%"PRIi64,
+                                       vl->values[i].derive);
+               }
+               else if (ds->ds[i].type == DS_TYPE_ABSOLUTE)
+               {
+                       status = ssnprintf (buffer + offset,
+                                       buffer_len - offset,
+                                       ",%"PRIu64,
+                                       vl->values[i].absolute);
                }
 
                if ((status < 1) || (status >= (buffer_len - offset)))
@@ -233,16 +246,10 @@ static int csv_config (const char *key, const char *value)
        }
        else if (strcasecmp ("StoreRates", key) == 0)
        {
-               if ((strcasecmp ("True", value) == 0)
-                               || (strcasecmp ("Yes", value) == 0)
-                               || (strcasecmp ("On", value) == 0))
-               {
+               if (IS_TRUE (value))
                        store_rates = 1;
-               }
                else
-               {
                        store_rates = 0;
-               }
        }
        else
        {