From a46211007e86f0ef551e73beeb7075913b520bce Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Wed, 19 Sep 2007 16:53:16 +0000 Subject: [PATCH] Better error handling when a feature value can't be read. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4822 7894878c-1315-0410-8ee3-d5d059ff63e0 --- prog/sensors/chips.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/prog/sensors/chips.c b/prog/sensors/chips.c index ab021b0c..bcd0b518 100644 --- a/prog/sensors/chips.c +++ b/prog/sensors/chips.c @@ -26,6 +26,7 @@ #include "main.h" #include "chips.h" #include "lib/sensors.h" +#include "lib/error.h" void print_chip_raw(const sensors_chip_name *name) { @@ -77,15 +78,19 @@ static void sensors_get_available_features(const sensors_chip_name *name, while ((iter = sensors_get_all_features(name, &i)) && iter->mapping == feature->number) { - int indx; + int indx, err; indx = iter->type - first_val - 1; if (indx < 0 || indx >= size) /* New feature in libsensors? Ignore. */ continue; - if (sensors_get_value(name, iter->number, &feature_vals[indx])) - printf("ERROR: Can't get %s data!\n", iter->name); + err = sensors_get_value(name, iter->number, &feature_vals[indx]); + if (err) { + printf("ERROR: Can't get %s data: %s\n", iter->name, + sensors_strerror(err)); + continue; + } has_features[indx] = 1; }