diff --git a/src/rrd_rpncalc.c b/src/rrd_rpncalc.c
index aec519f9a7ac46fc43603c51db43ec5e7f2e776b..b2d7adc59c2392b6d4a928d6c172588d68b85700 100644 (file)
--- a/src/rrd_rpncalc.c
+++ b/src/rrd_rpncalc.c
/****************************************************************************
- * RRDtool 1.3rc6 Copyright by Tobi Oetiker, 1997-2008
+ * RRDtool 1.3.8 Copyright by Tobi Oetiker, 1997-2009
****************************************************************************
* rrd_rpncalc.c RPN calculator functions
****************************************************************************/
#include <limits.h>
#include <locale.h>
+#ifdef WIN32
+#include <stdlib.h>
+#endif
+
short addop2str(
enum op_en op,
enum op_en op_type,
if (rpnp == NULL)
return NULL;
for (i = 0; rpnc[i].op != OP_END; ++i) {
- rpnp[i].op = (long) rpnc[i].op;
+ rpnp[i].op = (enum op_en) rpnc[i].op;
if (rpnp[i].op == OP_NUMBER) {
rpnp[i].val = (double) rpnc[i].val;
} else if (rpnp[i].op == OP_VARIABLE || rpnp[i].op == OP_PREV_OTHER) {
(*str)[offset++] = ',';
#define add_op(VV,VVV) \
- if (addop2str(rpnc[i].op, VV, VVV, str, &offset) == 1) continue;
+ if (addop2str((enum op_en)(rpnc[i].op), VV, VVV, str, &offset) == 1) continue;
if (rpnc[i].op == OP_NUMBER) {
/* convert a short into a string */
#undef add_op
#define add_op(VV,VVV) \
- if (addop2str(rpnc[i].op, VV, #VVV, str, &offset) == 1) continue;
+ if (addop2str((enum op_en)rpnc[i].op, VV, #VVV, str, &offset) == 1) continue;
add_op(OP_ADD, +)
add_op(OP_SUB, -)
if (stptr + 5 > rpnstack->dc_stacksize) {
/* could move this to a separate function */
rpnstack->dc_stacksize += rpnstack->dc_stackblock;
- rpnstack->s = rrd_realloc(rpnstack->s,
+ rpnstack->s = (double*)(rrd_realloc(rpnstack->s,
(rpnstack->dc_stacksize) *
- sizeof(*(rpnstack->s)));
+ sizeof(*(rpnstack->s))));
if (rpnstack->s == NULL) {
rrd_set_error("RPN stack overflow");
return -1;