X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fthermal.c;h=54311a647cc786aa40c27e85b4b1a514e0dbad11;hb=db35efb33e81d0a013e09a8a6ffa362ad5962f7c;hp=0ad0d90a04377126132e35cad77e4d592a844a1d;hpb=483e801902bca3c779793224eddf3bb2749d7288;p=collectd.git diff --git a/src/thermal.c b/src/thermal.c index 0ad0d90a..54311a64 100644 --- a/src/thermal.c +++ b/src/thermal.c @@ -35,8 +35,8 @@ static const char *config_keys[] = { "ForceUseProcfs" }; -const char *const dirname_sysfs = "/sys/class/thermal"; -const char *const dirname_procfs = "/proc/acpi/thermal_zone"; +static const char *const dirname_sysfs = "/sys/class/thermal"; +static const char *const dirname_procfs = "/proc/acpi/thermal_zone"; static _Bool force_procfs = 0; static ignorelist_t *device_list; @@ -55,6 +55,9 @@ static void thermal_submit (const char *plugin_instance, enum dev_type dt, v.gauge = value; vl.values = &v; + vl.values_len = 1; + + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "thermal", sizeof(vl.plugin)); if (plugin_instance != NULL) sstrncpy (vl.plugin_instance, plugin_instance, @@ -77,12 +80,12 @@ static int thermal_sysfs_device_read (const char __attribute__((unused)) *dir, if (device_list && ignorelist_match (device_list, name)) return -1; - len = snprintf (filename, sizeof (filename), + len = ssnprintf (filename, sizeof (filename), "%s/%s/temp", dirname_sysfs, name); if ((len < 0) || ((size_t) len >= sizeof (filename))) return -1; - len = read_file_contents (filename, data, sizeof(data)); + len = (ssize_t) read_file_contents (filename, data, sizeof(data)); if (len > 1 && data[--len] == '\n') { char *endptr = NULL; double temp; @@ -97,12 +100,12 @@ static int thermal_sysfs_device_read (const char __attribute__((unused)) *dir, } } - len = snprintf (filename, sizeof (filename), + len = ssnprintf (filename, sizeof (filename), "%s/%s/cur_state", dirname_sysfs, name); if ((len < 0) || ((size_t) len >= sizeof (filename))) return -1; - len = read_file_contents (filename, data, sizeof(data)); + len = (ssize_t) read_file_contents (filename, data, sizeof(data)); if (len > 1 && data[--len] == '\n') { char *endptr = NULL; double state; @@ -136,12 +139,12 @@ static int thermal_procfs_device_read (const char __attribute__((unused)) *dir, * temperature: 55 C */ - len = snprintf (filename, sizeof (filename), + len = ssnprintf (filename, sizeof (filename), "%s/%s/temperature", dirname_procfs, name); if ((len < 0) || ((size_t) len >= sizeof (filename))) return -1; - len = read_file_contents (filename, data, sizeof(data)); + len = (ssize_t) read_file_contents (filename, data, sizeof(data)); if ((len > 0) && ((size_t) len > sizeof(str_temp)) && (data[--len] == '\n') && (! strncmp(data, str_temp, sizeof(str_temp)-1))) {