be clearer as to what VDEF LAST/FIRST do.
[rrdtool.git] / bindings / ruby / main.c
index 6fe6a35..21f6c0d 100644 (file)
@@ -48,15 +48,15 @@ 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", 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",
+                     "invalid argument - %s, expected T_STRING or T_FIXNUM on index %ld",
                      rb_class2name(CLASS_OF(v)), i);
             break;
         }
@@ -163,6 +163,7 @@ VALUE rb_rrd_infocall(
     VALUE     result;
 
     a = string_arr_new(args);
+    reset_rrd_state();
     data = func(a.len, a.strings);
     string_arr_delete(a);
 
@@ -332,6 +333,7 @@ VALUE rb_rrd_xport(
     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);