X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_update.c;h=dbf74df6629611472e5c90af4f530ce36583f338;hp=a06b404e9d3ef26c545959bd469b8652e22834bb;hb=7cd3bc3512c11bb861490bb65553cea5cc0c98b4;hpb=06d2116bfef88c41e3a64ca596acdba6ff078c23 diff --git a/src/rrd_update.c b/src/rrd_update.c index a06b404..dbf74df 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -429,7 +429,10 @@ int rrd_update( { /* try to connect to rrdcached */ int status = rrdc_connect(opt_daemon); - if (status != 0) return status; + if (status != 0) { + rc = status; + goto out; + } } if ((tmplt != NULL) && rrdc_is_connected(opt_daemon)) @@ -977,7 +980,8 @@ static int get_time_from_reading( *current_time = tmp_time.tv_sec; *current_time_usec = tmp_time.tv_usec; } else { - old_locale = setlocale(LC_NUMERIC, "C"); + old_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC, "C"); errno = 0; tmp = strtod(updvals[0], 0); if (errno > 0) { @@ -1089,7 +1093,8 @@ static int update_pdp_prep( } break; case DST_ABSOLUTE: - old_locale = setlocale(LC_NUMERIC, "C"); + old_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC, "C"); errno = 0; pdp_new[ds_idx] = strtod(updvals[ds_idx + 1], &endptr); if (errno > 0) { @@ -1107,7 +1112,8 @@ static int update_pdp_prep( rate = pdp_new[ds_idx] / interval; break; case DST_GAUGE: - old_locale = setlocale(LC_NUMERIC, "C"); + old_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC, "C"); errno = 0; pdp_new[ds_idx] = strtod(updvals[ds_idx + 1], &endptr) * interval;