diff --git a/bindings/ruby/main.c b/bindings/ruby/main.c
index b3922d4a970cd7c271978b92693e70433516deee..0e022e45d2722c17bcf313ae3080b4b4eb6ec1b5 100644 (file)
--- a/bindings/ruby/main.c
+++ b/bindings/ruby/main.c
-/* $Id: main.c 1335 2008-05-01 23:23:35Z oetiker $
+/* $Id: main.c 1700 2008-12-08 16:07:27Z oetiker $
* Substantial penalty for early withdrawal.
*/
VALUE args)
{
string_arr a;
- info_t *p, *data;
+ rrd_info_t *p, *data;
VALUE result;
a = string_arr_new(args);
RRD_CHECK_ERROR result = rb_hash_new();
+ p = data;
while (data) {
VALUE key = rb_str_new2(data->key);
break;
case RD_I_STR:
rb_hash_aset(result, key, rb_str_new2(data->value.u_str));
- free(data->value.u_str);
break;
case RD_I_BLO:
rb_hash_aset(result, key,
rb_str_new(data->value.u_blo.ptr,
data->value.u_blo.size));
- free(data->value.u_blo.ptr);
break;
}
- p = data;
data = data->next;
- free(p);
}
+ rrd_info_free(p);
return result;
}
VALUE self,
VALUE args)
{
- return rrd_infocall(rrd_info, args);
+ return rb_rrd_infocall(rrd_info, args);
}
VALUE rb_rrd_updatev(
VALUE self,
VALUE args)
{
- return rrd_infocall(rrd_update_v, args);
+ return rb_rrd_infocall(rrd_update_v, args);
}
VALUE rb_rrd_graphv(
VALUE self,
VALUE args)
{
- return rrd_infocall(rrd_graph_v, args);
+ return rb_rrd_infocall(rrd_graph_v, args);
}
for (i = 0; i < ds_cnt; i++) {
rb_ary_push(names, rb_str_new2(raw_names[i]));
- free(raw_names[i]);
+ rrd_freemem(raw_names[i]);
}
- free(raw_names);
+ rrd_freemem(raw_names);
k = 0;
data = rb_ary_new();
}
rb_ary_push(data, line);
}
- free(raw_data);
+ rrd_freemem(raw_data);
result = rb_ary_new2(5);
rb_ary_store(result, 0, INT2NUM(start));
p = calcpr;
for (p = calcpr; p && *p; p++) {
rb_ary_push(print_results, rb_str_new2(*p));
- free(*p);
+ rrd_freemem(*p);
}
- free(calcpr);
+ rrd_freemem(calcpr);
rb_ary_store(result, 0, print_results);
rb_ary_store(result, 1, INT2FIX(xsize));
rb_ary_store(result, 2, INT2FIX(ysize));
string_arr_delete(a);
RRD_CHECK_ERROR
- return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2FIX(last));
+ return rb_funcall(rb_cTime, rb_intern("at"), 1, UINT2NUM(last));
}
void Init_RRD(