X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fpsensor.c;h=1973c53438fa56c6fb4c1621f8759f6997fa3469;hb=c61f97ec1945a6555d4503acc6826e4be7c75536;hp=06ef4824c56eaa36f6953926becdf1a43ebbe3ec;hpb=470f0e2a8c76d62722bb11deab3c06b90abbb48e;p=psensor.git diff --git a/src/lib/psensor.c b/src/lib/psensor.c index 06ef482..1973c53 100644 --- a/src/lib/psensor.c +++ b/src/lib/psensor.c @@ -373,18 +373,31 @@ double get_max_temp(struct psensor **sensors) return get_max_value(sensors, SENSOR_TYPE_TEMP); } -struct psensor **get_all_sensors(int values_max_length) +struct psensor **get_all_sensors(int use_libatasmart, int values_max_length) { struct psensor **psensors = NULL; struct psensor **tmp_psensors; psensors = lmsensor_psensor_list_add(NULL, values_max_length); - tmp_psensors = hdd_psensor_list_add(psensors, values_max_length); - if (tmp_psensors != psensors) { - free(psensors); - psensors = tmp_psensors; + if (!use_libatasmart) { + tmp_psensors = hddtemp_psensor_list_add(psensors, + values_max_length); + if (tmp_psensors != psensors) { + free(psensors); + psensors = tmp_psensors; + } } +#ifdef HAVE_ATASMART + else { + tmp_psensors = hdd_psensor_list_add(psensors, + values_max_length); + if (tmp_psensors != psensors) { + free(psensors); + psensors = tmp_psensors; + } + } +#endif if (!psensors) { /* there is no detected sensors */ psensors = malloc(sizeof(struct psensor *)); @@ -446,10 +459,14 @@ void psensor_list_update_measures(struct psensor **sensors) cpu_psensor_list_update(sensors); #endif - if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDD_TEMP_HDDTEMP) - || psensor_list_contains_type(sensors, - SENSOR_TYPE_HDD_TEMP_ATASMART)) + if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDD_TEMP_HDDTEMP)) + hddtemp_psensor_list_update(sensors); + +#ifdef HAVE_ATASMART + if (psensor_list_contains_type(sensors, + SENSOR_TYPE_HDD_TEMP_ATASMART)) hdd_psensor_list_update(sensors); +#endif } void psensor_init()