diff --git a/bindings/ruby/main.c b/bindings/ruby/main.c
index af42069cb46ed8f312a8c83f1ac34a95d25b93dd..35b5f6020dd1ea0d1315358360e14b097f18bfba 100644 (file)
--- a/bindings/ruby/main.c
+++ b/bindings/ruby/main.c
-/* $Id: main.c 2022 2010-02-16 13:04:18Z oetiker $
+/* $Id$
* Substantial penalty for early withdrawal.
*/
#define RRD_CHECK_ERROR \
if (rrd_test_error()) \
- rb_raise(rb_eRRDError, rrd_get_error()); \
+ rb_raise(rb_eRRDError, "%s", rrd_get_error()); \
rrd_clear_error();
string_arr string_arr_new(
switch (TYPE(v)) {
case T_STRING:
- a.strings[i + 1] = strdup(STR2CSTR(v));
+ a.strings[i + 1] = strdup(StringValuePtr(v));
break;
case T_FIXNUM:
- snprintf(buf, 63, "%d", FIX2INT(v));
+ snprintf(buf, 63, "%ld", (long)FIX2INT(v));
a.strings[i + 1] = strdup(buf);
break;
default:
rb_raise(rb_eTypeError,
- "invalid argument - %s, expected T_STRING or T_FIXNUM on index %d",
- rb_class2name(CLASS_OF(v)), i);
+ "invalid argument - %s, expected T_STRING or T_FIXNUM on index %ld",
+ rb_class2name(CLASS_OF(v)), (long)i);
break;
}
}
time_t start, end;
a = string_arr_new(args);
+ reset_rrd_state();
rrd_xport(a.len, a.strings, &xxsize, &start, &end, &step, &col_cnt, &legend_v, &data);
string_arr_delete(a);