From a54d663feee263aafbb6f553764804635087eaa6 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sat, 16 Jul 2011 21:08:22 +0000 Subject: [PATCH] moved lmsensor code to lmsensor.c --- src/lib/lmsensor.c | 36 ++++++++++++++++++++++++++++++++++++ src/lib/lmsensor.h | 11 +++++++++++ src/lib/psensor.c | 34 +--------------------------------- 3 files changed, 48 insertions(+), 33 deletions(-) diff --git a/src/lib/lmsensor.c b/src/lib/lmsensor.c index 8bf9d13..65c41d1 100644 --- a/src/lib/lmsensor.c +++ b/src/lib/lmsensor.c @@ -169,3 +169,39 @@ int lmsensor_init() return 1; } } + +struct psensor **lmsensor_psensor_list_add(struct psensor **sensors, + int vn) +{ + const sensors_chip_name *chip; + int chip_nr = 0; + struct psensor **tmp, **result; + const sensors_feature *feature; + struct psensor *s; + int i; + + result = sensors; + while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) { + + i = 0; + while ((feature = sensors_get_features(chip, &i))) { + + if (feature->type == SENSORS_FEATURE_TEMP + || feature->type == SENSORS_FEATURE_FAN) { + + s = lmsensor_psensor_create(chip, feature, vn); + + if (s) { + tmp = psensor_list_add(result, s); + + if (tmp != sensors) + free(result); + + result = tmp; + } + } + } + } + + return result; +} diff --git a/src/lib/lmsensor.h b/src/lib/lmsensor.h index a526ceb..5472db3 100644 --- a/src/lib/lmsensor.h +++ b/src/lib/lmsensor.h @@ -28,4 +28,15 @@ struct psensor *lmsensor_psensor_create(const sensors_chip_name *chip, int lmsensor_init(); void lmsensor_psensor_list_update(struct psensor **sensors); +/* + Adds sensors to a given list of sensors. + + Returns the new allocated list of sensors if sensors have been added + otherwise returns 'sensors'. The list is 'NULL' terminated. + */ +struct psensor **lmsensor_psensor_list_add(struct psensor **sensors, + int values_max_length); + + + #endif diff --git a/src/lib/psensor.c b/src/lib/psensor.c index 7e31a39..7dcb85d 100644 --- a/src/lib/psensor.c +++ b/src/lib/psensor.c @@ -24,9 +24,6 @@ #include #define _(str) gettext(str) -#include -#include - #include "hdd.h" #include "psensor.h" #include "lmsensor.h" @@ -373,38 +370,9 @@ double get_max_temp(struct psensor **sensors) struct psensor **get_all_sensors(int values_max_length) { struct psensor **psensors = NULL; - int count = 0; - const sensors_chip_name *chip; - int chip_nr = 0; struct psensor **tmp_psensors; - const sensors_feature *feature; - struct psensor *psensor; - int i; - - while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) { - i = 0; - while ((feature = sensors_get_features(chip, &i))) { - - if (feature->type == SENSORS_FEATURE_TEMP - || feature->type == SENSORS_FEATURE_FAN) { - - psensor = lmsensor_psensor_create - (chip, feature, values_max_length); - - if (psensor) { - tmp_psensors - = psensor_list_add(psensors, - psensor); - free(psensors); - - psensors = tmp_psensors; - - count++; - } - } - } - } + psensors = lmsensor_psensor_list_add(NULL, values_max_length); tmp_psensors = hdd_psensor_list_add(psensors, values_max_length); -- 2.7.4