X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fmain.c;h=dce457346015c55b6691af0d54ba279559f55a50;hb=ff659df2cbe866aa79243d60a7d6d01df8df4ec3;hp=1eea59420cc7cd21d1e199349b90ed8847306df6;hpb=de58b641143d1fb9622fa4021c2dd1ab50149dee;p=psensor.git diff --git a/src/main.c b/src/main.c index 1eea594..dce4573 100644 --- a/src/main.c +++ b/src/main.c @@ -227,20 +227,28 @@ static void cb_alarm_raised(struct psensor *sensor, void *data) static void associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) { - struct psensor **sensor_cur = sensors; + bool ret; + struct psensor *s; - while (*sensor_cur) { - struct psensor *s = *sensor_cur; + while (*sensors) { + s = *sensors; s->cb_alarm_raised = cb_alarm_raised; s->cb_alarm_raised_data = ui; - s->alarm_high_threshold - = config_get_sensor_alarm_high_threshold(s->id); - s->alarm_low_threshold - = config_get_sensor_alarm_low_threshold(s->id); + ret = config_get_sensor_alarm_high_threshold + (s->id, &s->alarm_high_threshold); - sensor_cur++; + if (!ret && s->max != UNKNOWN_DBL_VALUE) + s->alarm_high_threshold = s->max; + + ret = config_get_sensor_alarm_low_threshold + (s->id, &s->alarm_low_threshold); + + if (!ret && s->min != UNKNOWN_DBL_VALUE) + s->alarm_low_threshold = s->min; + + sensors++; } }