#include "psensor.h"
#ifdef HAVE_ATASMART
-struct psensor **hdd_psensor_list_add(struct psensor **sensors,
- int values_max_length);
-
-void hdd_psensor_list_update(struct psensor **sensors);
+void atasmart_psensor_list_append(struct psensor ***sensors, int values_length);
+void atasmart_psensor_list_update(struct psensor **sensors);
#endif
struct psensor **hddtemp_psensor_list_add(struct psensor **sensors,
close(f);
}
-struct psensor **hdd_psensor_list_add(struct psensor **sensors,
- int values_max_length)
+void
+atasmart_psensor_list_append(struct psensor ***sensors, int values_max_length)
{
char **paths, **tmp, *id;
SkDisk *disk;
- struct psensor *sensor, **tmp_sensors, **result;
+ struct psensor *sensor;
log_fct_enter();
paths = dir_list("/dev", filter_sd);
- result = sensors;
tmp = paths;
while (*tmp) {
log_fct("Open %s", *tmp);
disk,
values_max_length);
- tmp_sensors = psensor_list_add(result, sensor);
-
- if (result != sensors)
- free(result);
-
- result = tmp_sensors;
+ psensor_list_append(sensors, sensor);
} else {
log_err(_("%s: sk_disk_open() failure: %s."),
PROVIDER_NAME,
paths_free(paths);
log_fct_exit();
-
- return result;
}
-void hdd_psensor_list_update(struct psensor **sensors)
+void atasmart_psensor_list_update(struct psensor **sensors)
{
struct psensor **cur, *s;
uint64_t kelvin;
}
#ifdef HAVE_ATASMART
else {
- tmp_psensors = hdd_psensor_list_add(psensors,
- values_max_length);
- if (tmp_psensors != psensors) {
- free(psensors);
- psensors = tmp_psensors;
- }
+ atasmart_psensor_list_append(&psensors,
+ values_max_length);
}
#endif
#ifdef HAVE_ATASMART
if (psensor_list_contains_type(sensors, SENSOR_TYPE_ATASMART))
- hdd_psensor_list_update(sensors);
+ atasmart_psensor_list_update(sensors);
#endif
}