#endif
-struct psensor *psensor_create(char *id, char *name,
- unsigned int type, int values_max_length)
+struct psensor *psensor_create(char *id,
+ char *name,
+ char *chip,
+ unsigned int type,
+ int values_max_length)
{
struct psensor *psensor
= (struct psensor *)malloc(sizeof(struct psensor));
psensor->id = id;
psensor->name = name;
+ psensor->chip = chip;
psensor->enabled = 1;
psensor->min = UNKNOWN_DBL_VALUE;
psensor->max = UNKNOWN_DBL_VALUE;
free(sensor->name);
free(sensor->id);
+ if (sensor->chip)
+ free(sensor->chip);
+
if (sensor->color)
free(sensor->color);
unit = psensor_type_to_unit_str(type, use_celcius);
+ if (is_temp_type(type) && !use_celcius)
+ value = celcius_to_fahrenheit(value);
+
sprintf(str, "%.0f%s", value, unit);
return str;
struct psensor **get_all_sensors(int use_libatasmart, int values_max_length)
{
- struct psensor **psensors = NULL;
+ struct psensor **psensors;
struct psensor **tmp_psensors;
psensors = lmsensor_psensor_list_add(NULL, values_max_length);