netstar pushed a commit to branch master. http://git.enlightenment.org/apps/evisum.git/commit/?id=1313354239fa11f86a780b54fa5e55f86326181d
commit 1313354239fa11f86a780b54fa5e55f86326181d Author: Alastair Poole <nets...@gmail.com> Date: Tue Dec 22 17:53:17 2020 +0000 sensors: use your brain --- src/bin/system/machine.h | 7 +------ src/bin/system/machine/sensors.bogox | 26 ++++++++++---------------- src/bin/ui/ui_sensors.c | 13 +++++++------ 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/src/bin/system/machine.h b/src/bin/system/machine.h index 1fb6885..89ddf4a 100644 --- a/src/bin/system/machine.h +++ b/src/bin/system/machine.h @@ -143,12 +143,7 @@ sensor_t ** system_sensors_thermal_get(int *count); int -system_sensor_thermal_by_id(char *id, double *value); - -#if defined(__OpenBSD__) -int -system_sensor_thermal_by_mib(int mib[], double *value); -#endif +system_sensor_thermal_get(sensor_t *snsr); void system_sensors_thermal_free(sensor_t **sensors, int count); diff --git a/src/bin/system/machine/sensors.bogox b/src/bin/system/machine/sensors.bogox index f4f25b2..821a613 100644 --- a/src/bin/system/machine/sensors.bogox +++ b/src/bin/system/machine/sensors.bogox @@ -35,37 +35,31 @@ system_sensors_thermal_free(sensor_t **sensors, int count) } int -system_sensor_thermal_by_id(char *id, double *value) +system_sensor_thermal_get(sensor_t *sensor) { #if defined(__linux__) - char *d = file_contents(id); + char *d = file_contents(sensor->path); if (d) { - *value = atof(d); - if (*value) *value /= 1000; + double val = atof(d); + if (val); + sensor->value = val /= 1000; free(d); return 1; } return 0; -#endif - return 0; -} - -#if defined(__OpenBSD__) -int -system_sensor_thermal_by_mib(int mibs[], double *value) -{ +#elif defined(__OpenBSD__) struct sensor snsr; size_t slen = sizeof(struct sensor); - if (sysctl(mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0; + if (sysctl(sensor->mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0; - *value = (snsr.value - 273150000) / 1000000.0; + sensor->value = (snsr.value - 273150000) / 1000000.0; return 1; -} - #endif + return 0; +} sensor_t ** system_sensors_thermal_get(int *sensor_count) diff --git a/src/bin/ui/ui_sensors.c b/src/bin/ui/ui_sensors.c index 9f68eb4..01ea2d1 100644 --- a/src/bin/ui/ui_sensors.c +++ b/src/bin/ui/ui_sensors.c @@ -85,12 +85,13 @@ _sensors_update(void *data, Ecore_Thread *thread) { if (pd->selected_it) { -#if defined(__OpenBSD__) - if (system_sensor_thermal_by_mib(pd->sensor->mibs, &msg->thermal_temp)) -#else - if (system_sensor_thermal_by_id(pd->sensor->path, &msg->thermal_temp)) -#endif - msg->thermal_valid = 1; + if (!system_sensor_thermal_get(pd->sensor)) + msg->thermal_valid = 0; + else + { + msg->thermal_valid = 1; + msg->thermal_temp = pd->sensor->value; + } } system_power_state_get(&msg->power); --