Merge pull request #2684 from rpv-tomsk/fix-2673
[collectd.git] / src / rrdcached.c
index f78f4da..6eb67d4 100644 (file)
@@ -286,8 +286,9 @@ static int rc_read(void) {
   rrdc_stats_t *head;
   _Bool retried = 0;
 
-  value_t values[1];
   value_list_t vl = VALUE_LIST_INIT;
+  vl.values = &(value_t){.gauge = NAN};
+  vl.values_len = 1;
 
   if (daemon_address == NULL)
     return (-1);
@@ -295,13 +296,8 @@ static int rc_read(void) {
   if (!config_collect_stats)
     return (-1);
 
-  vl.values = values;
-  vl.values_len = 1;
-
-  if ((strncmp("unix:", daemon_address, strlen("unix:")) == 0) ||
-      (daemon_address[0] == '/'))
-    sstrncpy(vl.host, hostname_g, sizeof(vl.host));
-  else
+  if ((strncmp("unix:", daemon_address, strlen("unix:")) != 0) &&
+      (daemon_address[0] != '/'))
     sstrncpy(vl.host, daemon_address, sizeof(vl.host));
   sstrncpy(vl.plugin, "rrdcached", sizeof(vl.plugin));
 
@@ -337,9 +333,9 @@ static int rc_read(void) {
 
   for (rrdc_stats_t *ptr = head; ptr != NULL; ptr = ptr->next) {
     if (ptr->type == RRDC_STATS_TYPE_GAUGE)
-      values[0].gauge = (gauge_t)ptr->value.gauge;
+      vl.values[0].gauge = (gauge_t)ptr->value.gauge;
     else if (ptr->type == RRDC_STATS_TYPE_COUNTER)
-      values[0].counter = (counter_t)ptr->value.counter;
+      vl.values[0].counter = (counter_t)ptr->value.counter;
     else
       continue;