X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fhdd_hddtemp.c;h=e693bf4127cafa6098e7bd3fd4a6bdc887755ccc;hb=b459ed68d5a1c3f9a744e2017576aad31f7c7f3a;hp=17a164284dc0150d0005bdb5fd36870e905c0500;hpb=58e90d4b381f33b1f50261e239e2f8d258843abf;p=psensor.git diff --git a/src/lib/hdd_hddtemp.c b/src/lib/hdd_hddtemp.c index 17a1642..e693bf4 100644 --- a/src/lib/hdd_hddtemp.c +++ b/src/lib/hdd_hddtemp.c @@ -59,7 +59,7 @@ static char *fetch() sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd == -1) { - log_err(_("hddtemp: failed to open socket.")); + log_err(_("%s: failed to open socket."), PROVIDER_NAME); return NULL; } @@ -72,7 +72,7 @@ static char *fetch() if (connect(sockfd, (struct sockaddr *)&address, (socklen_t) sizeof(address)) == -1) { - log_err(_("hddtemp: failed to open connection.")); + log_err(_("%s: failed to open connection."), PROVIDER_NAME); } else { buffer = malloc(HDDTEMP_OUTPUT_BUFFER_LENGTH); @@ -174,33 +174,31 @@ static char *next_hdd_info(char *string, struct hdd_info *info) return c; } -struct psensor **hddtemp_psensor_list_add(struct psensor **sensors, - int values_max_length) +void +hddtemp_psensor_list_append(struct psensor ***sensors, int values_max_length) { char *hddtemp_output, *c; struct hdd_info info; - struct psensor **result; hddtemp_output = fetch(); if (!hddtemp_output) - return sensors; + return; if (hddtemp_output[0] != '|') { - log_err(_("hddtemp: wrong string: %s."), hddtemp_output); + log_err(_("%s: wrong string: %s."), + PROVIDER_NAME, + hddtemp_output); free(hddtemp_output); - return sensors; + return; } c = hddtemp_output; - result = sensors; - while (c && (c = next_hdd_info(c, &info))) { struct psensor *sensor; - struct psensor **tmp_sensors; char *id; id = malloc(strlen(PROVIDER_NAME) + 1 + strlen(info.name) + 1); @@ -208,31 +206,22 @@ struct psensor **hddtemp_psensor_list_add(struct psensor **sensors, sensor = create_sensor(id, info.name, values_max_length); - tmp_sensors = psensor_list_add(result, sensor); - - if (result != sensors) - free(result); - - result = tmp_sensors; + psensor_list_append(sensors, sensor); } free(hddtemp_output); - - return result; } static void update(struct psensor **sensors, struct hdd_info *info) { - struct psensor **sensor_cur = sensors; - - while (*sensor_cur) { - if (!((*sensor_cur)->type & SENSOR_TYPE_REMOTE) - && (*sensor_cur)->type & SENSOR_TYPE_HDDTEMP - && !strcmp((*sensor_cur)->id + 8, info->name)) - psensor_set_current_value(*sensor_cur, - (float)info->temp); - - sensor_cur++; + while (*sensors) { + if (!((*sensors)->type & SENSOR_TYPE_REMOTE) + && (*sensors)->type & SENSOR_TYPE_HDDTEMP + && !strcmp((*sensors)->id + 8, info->name)) + psensor_set_current_value(*sensors, + (double)info->temp); + + sensors++; } } @@ -259,7 +248,9 @@ void hddtemp_psensor_list_update(struct psensor **sensors) free(info.name); } } else { - log_err(_("hddtemp: wrong string: %s."), hddtemp_output); + log_err(_("%s: wrong string: %s."), + PROVIDER_NAME, + hddtemp_output); } free(hddtemp_output);