Code

turbostat plugin: Use parse_value_file().
authorFlorian Forster <octo@collectd.org>
Mon, 12 Sep 2016 07:26:26 +0000 (09:26 +0200)
committerFlorian Forster <octo@collectd.org>
Mon, 12 Sep 2016 07:28:42 +0000 (09:28 +0200)
src/turbostat.c

index 2d8a08e646319b961f8ffb24f1a8654bb470c23f..7b813c9f1ce8922f29dcaf8374df28d8f3e02364 100644 (file)
@@ -1018,8 +1018,7 @@ parse_int_file(const char *fmt, ...)
 {
        va_list args;
        char path[PATH_MAX];
-       FILE *filep;
-       int len, value;
+       int len;
 
        va_start(args, fmt);
        len = vsnprintf(path, sizeof(path), fmt, args);
@@ -1029,18 +1028,13 @@ parse_int_file(const char *fmt, ...)
                return -1;
        }
 
-       filep = fopen(path, "r");
-       if (!filep) {
-               ERROR("turbostat plugin: Failed to open '%s'", path);
-               return -1;
-       }
-       if (fscanf(filep, "%d", &value) != 1) {
-               ERROR("turbostat plugin: Failed to parse number from '%s'", path);
-               fclose(filep);
+       value_t v;
+       if (parse_value_file (path, &v, DS_TYPE_DERIVE) != 0) {
+               ERROR ("turbostat plugin: Parsing \"%s\" failed.", path);
                return -1;
        }
-       fclose(filep);
-       return value;
+
+       return (int) v.derive;
 }
 
 static int