From 38a59425e2f18bfff12cd70e9a07a6b3bbf8c6f8 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Sun, 15 Jan 2012 20:40:30 -0200 Subject: Do not list empty sensor categories --- modules/devices/sensors.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'modules/devices/sensors.c') diff --git a/modules/devices/sensors.c b/modules/devices/sensors.c index 1469c13e..be66afc7 100644 --- a/modules/devices/sensors.c +++ b/modules/devices/sensors.c @@ -233,8 +233,8 @@ static void read_sensors_hwmon(void) } for (sensor = hwmon_sensors; sensor->friendly_name; sensor++) { + char *output = NULL; DEBUG("current sensor type=%s", sensor->friendly_name); - sensors = g_strconcat(sensors, "[", sensor->friendly_name, "]\n", NULL); for (count = sensor->begin_at;; count++) { path_sensor = g_strdup_printf(sensor->path_format, path_hwmon, count); @@ -247,8 +247,8 @@ static void read_sensors_hwmon(void) mon = g_strdup_printf(sensor->key_format, count); name = get_sensor_label(mon); if (!g_str_equal(name, "ignore")) { - sensors = h_strdup_cprintf(sensor->value_format, - sensors, name, driver, + output = h_strdup_cprintf(sensor->value_format, + output, name, driver, adjust_sensor(mon, atof(tmp) / sensor->adjust_ratio)); } @@ -258,8 +258,12 @@ static void read_sensors_hwmon(void) g_free(name); g_free(path_sensor); } - } + if (output) { + sensors = g_strconcat(sensors, "[", sensor->friendly_name, "]\n", output, "\n", NULL); + g_free(output); + } + } g_free(path_hwmon); g_free(driver); -- cgit v1.2.3