X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Frrd_update.c;h=a06b404e9d3ef26c545959bd469b8652e22834bb;hb=60f717e66b36084e19d2be67c66a621ea2499855;hp=4016d75714b179e8d9626388ece697bdfa4b827a;hpb=19f031713115921bebf5949ce63926d66dd8c6a5;p=rrdtool.git diff --git a/src/rrd_update.c b/src/rrd_update.c index 4016d75..a06b404 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, @@ -1354,6 +1364,10 @@ static int process_pdp_st( rpnp = rpn_expand((rpn_cdefds_t *) &(rrd->ds_def[ds_idx].par[DS_cdef])); + if(rpnp == NULL) { + rpnstack_free(&rpnstack); + return -1; + } /* substitute data values for OP_VARIABLE nodes */ for (i = 0; rpnp[i].op != OP_END; i++) { if (rpnp[i].op == OP_VARIABLE) { @@ -1367,6 +1381,7 @@ static int process_pdp_st( rpnstack_free(&rpnstack); return -1; } + free(rpnp); } /* make pdp_prep ready for the next run */ @@ -1543,7 +1558,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); } }