X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_update.c;h=563d7ac81fbf7fe177801869f3969b6e97284f65;hb=c1dcadbe306d335cee92bc3cc7021f9e9d07a301;hp=0335a9ef27670a37e1e10675ac3281dac8f9d710;hpb=096bb3f53482c95c3d2dd09e8c7b2329f6c1c2ff;p=rrdtool.git diff --git a/src/rrd_update.c b/src/rrd_update.c index 0335a9e..563d7ac 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -477,6 +477,16 @@ int rrd_update_r( return _rrd_update(filename, tmplt, argc, argv, NULL); } +int rrd_update_v_r( + const char *filename, + const char *tmplt, + int argc, + const char **argv, + rrd_info_t * pcdp_summary) +{ + return _rrd_update(filename, tmplt, argc, argv, pcdp_summary); +} + int _rrd_update( const char *filename, const char *tmplt, @@ -967,7 +977,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) { @@ -1079,7 +1090,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) { @@ -1097,7 +1109,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; @@ -1548,7 +1561,7 @@ static int update_cdp_prep( if (elapsed_pdp_st > 2) { reset_cdp(rrd, elapsed_pdp_st, pdp_temp, last_seasonal_coef, seasonal_coef, rra_idx, ds_idx, cdp_idx, - current_cf); + (enum cf_en)current_cf); } }