-struct psensor **get_all_sensors(int use_libatasmart, int values_max_length)
-{
- struct psensor **psensors;
- struct psensor **tmp_psensors;
-
- psensors = lmsensor_psensor_list_add(NULL, values_max_length);
-
- 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 *));
- *psensors = NULL;
- }
-
- return psensors;
-}
-