X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_rpncalc.c;h=8dd224000824adcd496a636de3dde210c81123ed;hp=80eb14450eb432c496dd588b9860b22ee8573d7f;hb=327c6498066d67dd7b343b2c677c2e7fe1fb7d98;hpb=06d2116bfef88c41e3a64ca596acdba6ff078c23 diff --git a/src/rrd_rpncalc.c b/src/rrd_rpncalc.c index 80eb144..8dd2240 100644 --- a/src/rrd_rpncalc.c +++ b/src/rrd_rpncalc.c @@ -297,7 +297,8 @@ rpnp_t *rpn_parse( char vname[MAX_VNAME_LEN + 10]; char *old_locale; - old_locale = setlocale(LC_NUMERIC, "C"); + old_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC, "C"); rpnp = NULL; expr = (char *) expr_const; @@ -880,7 +881,7 @@ short rpn_calc( time_t dur = (time_t) rpnstack->s[stptr]; time_t step = (time_t) rpnp[rpi - 2].step; - if (output_idx > (int) ceil((float) dur / (float) step)) { + if (output_idx + 1 >= (int) ceil((float) dur / (float) step)) { int ignorenan = (rpnp[rpi].op == OP_TREND); double accum = 0.0; int i = 0;