write_redis: Increase parsability by using format_values from common.h
authorbrianpkelly (no email) <collectd@verplant.org>
Thu, 11 Jun 2015 14:52:22 +0000 (09:52 -0500)
committerFlorian Forster <octo@collectd.org>
Thu, 11 Jun 2015 15:46:02 +0000 (16:46 +0100)
src/write_redis.c

index 61893ff..2925352 100644 (file)
@@ -69,41 +69,7 @@ static int wr_write (const data_set_t *ds, /* {{{ */
   memset (value, 0, sizeof (value));
   value_size = sizeof (value);
   value_ptr = &value[0];
-
-#define APPEND(...) do {                                             \
-  status = snprintf (value_ptr, value_size, __VA_ARGS__);            \
-  if (((size_t) status) > value_size)                                \
-  {                                                                  \
-    value_ptr += value_size;                                         \
-    value_size = 0;                                                  \
-  }                                                                  \
-  else                                                               \
-  {                                                                  \
-    value_ptr += status;                                             \
-    value_size -= status;                                            \
-  }                                                                  \
-} while (0)
-
-  APPEND ("%.3f:", CDTIME_T_TO_DOUBLE (vl->time));
-  for (i = 0; i < ds->ds_num; i++)
-  {
-    // Increase parsability by delimiting the individual values
-    if (ds->ds_num > 1 && i > 0)
-      APPEND ("%s", "|");
-
-    if (ds->ds[i].type == DS_TYPE_COUNTER)
-      APPEND ("%llu", vl->values[i].counter);
-    else if (ds->ds[i].type == DS_TYPE_GAUGE)
-      APPEND (GAUGE_FORMAT, vl->values[i].gauge);
-    else if (ds->ds[i].type == DS_TYPE_DERIVE)
-      APPEND ("%"PRIi64, vl->values[i].derive);
-    else if (ds->ds[i].type == DS_TYPE_ABSOLUTE)
-      APPEND ("%"PRIu64, vl->values[i].absolute);
-    else
-      assert (23 == 42);
-  }
-
-#undef APPEND
+  format_values(value_ptr, value_size, ds, vl, 0);
 
   pthread_mutex_lock (&node->lock);