}
}
-double psensor_get_current_value(struct psensor *sensor)
+double psensor_get_current_value(const struct psensor *sensor)
{
return sensor->measures[sensor->values_max_length - 1].value;
}
return result;
}
+char *
+psensor_current_value_to_str(const struct psensor *s, unsigned int celcius)
+{
+ return psensor_value_to_str(s->type,
+ psensor_get_current_value(s),
+ celcius);
+}
void psensor_set_current_measure(struct psensor *sensor, double value,
struct timeval tv);
-double psensor_get_current_value(struct psensor *sensor);
+double psensor_get_current_value(const struct psensor *);
struct measure *psensor_get_current_measure(struct psensor *sensor);
double celcius_to_fahrenheit(double c);
double fahrenheit_to_celcius(double c);
+char *psensor_current_value_to_str(const struct psensor *, unsigned int);
void psensor_log_measures(struct psensor **sensors);
update_menu_item(GtkMenuItem *item, struct psensor *s, int use_celcius)
{
gchar *str;
- double v;
+ char *v;
- v = psensor_get_current_value(s);
+ v = psensor_current_value_to_str(s, use_celcius);
- if (is_temp_type(s->type) && !use_celcius)
- v = celcius_to_fahrenheit(v);
-
- str = g_strdup_printf("%s: %2.f %s",
- s->name,
- v,
- psensor_type_to_unit_str(s->type, use_celcius));
+ str = g_strdup_printf("%s: %s", s->name, v);
gtk_menu_item_set_label(item, str);
+ free(v);
g_free(str);
}