From: Marc Fournier Date: Mon, 15 Jun 2015 19:18:04 +0000 (+0200) Subject: Merge branch 'collectd-5.4' into collectd-5.5 X-Git-Tag: collectd-5.5.1~116 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=f664b944f774e4d1e5d5c562eaf0bb207c6a7edf;p=collectd.git Merge branch 'collectd-5.4' into collectd-5.5 Conflicts: src/write_redis.c --- f664b944f774e4d1e5d5c562eaf0bb207c6a7edf diff --cc src/write_redis.c index 22e30abb,3b8addd2..02663c66 --- a/src/write_redis.c +++ b/src/write_redis.c @@@ -74,39 -70,10 +74,42 @@@ static int wr_write (const data_set_t * 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 ("%s:", time); + + for (i = 0; i < ds->ds_num; i++) + { + 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 + + status = format_values (value_ptr, value_size, ds, vl, /* store rates = */ 0); pthread_mutex_lock (&node->lock); + if (status != 0) + return (status); if (node->conn == NULL) {