Merge branch 'collectd-5.7' into collectd-5.8
[collectd.git] / src / conntrack.c
index 69170d7..3cd2dee 100644 (file)
@@ -56,7 +56,6 @@ static void conntrack_submit(const char *type, const char *type_instance,
 
   vl.values = &conntrack;
   vl.values_len = 1;
-  sstrncpy(vl.host, hostname_g, sizeof(vl.host));
   sstrncpy(vl.plugin, "conntrack", sizeof(vl.plugin));
   sstrncpy(vl.type, type, sizeof(vl.type));
   if (type_instance != NULL)
@@ -67,58 +66,26 @@ static void conntrack_submit(const char *type, const char *type_instance,
 
 static int conntrack_read(void) {
   value_t conntrack, conntrack_max, conntrack_pct;
-  FILE *fh;
-  char buffer[64] = {0};
-  size_t buffer_len;
 
-  fh = fopen(old_files ? CONNTRACK_FILE_OLD : CONNTRACK_FILE, "r");
-  if (fh == NULL)
-    return (-1);
-
-  if (fgets(buffer, sizeof(buffer), fh) == NULL) {
-    fclose(fh);
-    return (-1);
+  char const *path = old_files ? CONNTRACK_FILE_OLD : CONNTRACK_FILE;
+  if (parse_value_file(path, &conntrack, DS_TYPE_GAUGE) != 0) {
+    ERROR("conntrack plugin: Reading \"%s\" failed.", path);
+    return -1;
   }
-  fclose(fh);
 
-  /* strip trailing newline. */
-  buffer_len = strlen(buffer);
-  while ((buffer_len > 0) && isspace((int)buffer[buffer_len - 1])) {
-    buffer[buffer_len - 1] = 0;
-    buffer_len--;
+  path = old_files ? CONNTRACK_MAX_FILE_OLD : CONNTRACK_MAX_FILE;
+  if (parse_value_file(path, &conntrack_max, DS_TYPE_GAUGE) != 0) {
+    ERROR("conntrack plugin: Reading \"%s\" failed.", path);
+    return -1;
   }
 
-  if (parse_value(buffer, &conntrack, DS_TYPE_GAUGE) != 0)
-    return (-1);
+  conntrack_pct.gauge = (conntrack.gauge / conntrack_max.gauge) * 100;
 
   conntrack_submit("conntrack", NULL, conntrack);
-
-  fh = fopen(old_files ? CONNTRACK_MAX_FILE_OLD : CONNTRACK_MAX_FILE, "r");
-  if (fh == NULL)
-    return (-1);
-
-  memset(buffer, 0, sizeof(buffer));
-  if (fgets(buffer, sizeof(buffer), fh) == NULL) {
-    fclose(fh);
-    return (-1);
-  }
-  fclose(fh);
-
-  /* strip trailing newline. */
-  buffer_len = strlen(buffer);
-  while ((buffer_len > 0) && isspace((int)buffer[buffer_len - 1])) {
-    buffer[buffer_len - 1] = 0;
-    buffer_len--;
-  }
-
-  if (parse_value(buffer, &conntrack_max, DS_TYPE_GAUGE) != 0)
-    return (-1);
-
   conntrack_submit("conntrack", "max", conntrack_max);
-  conntrack_pct.gauge = (conntrack.gauge / conntrack_max.gauge) * 100;
   conntrack_submit("percent", "used", conntrack_pct);
 
-  return (0);
+  return 0;
 } /* static int conntrack_read */
 
 void module_register(void) {