summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d78f303)
free(argv); \
if (rrd_test_error()) XSRETURN_UNDEF; \
hash = newHV(); \
free(argv); \
if (rrd_test_error()) XSRETURN_UNDEF; \
hash = newHV(); \
/* the newSV will get copied by hv so we create it as a mortal \
to make sure it does not keep hanging round after the fact */ \
switch (data->type) { \
/* the newSV will get copied by hv so we create it as a mortal \
to make sure it does not keep hanging round after the fact */ \
switch (data->type) { \
break; \
case RD_I_STR: \
hvs(newSVpv(data->value.u_str,0)); \
break; \
case RD_I_STR: \
hvs(newSVpv(data->value.u_str,0)); \
- rrd_freemem(data->value.u_str); \
break; \
case RD_I_BLO: \
hvs(newSVpv(data->value.u_blo.ptr,data->value.u_blo.size)); \
break; \
case RD_I_BLO: \
hvs(newSVpv(data->value.u_blo.ptr,data->value.u_blo.size)); \
- rrd_freemem(data->value.u_blo.ptr); \
- rrd_freemem(data->key); \
- rrd_freemem(save); \
- } \
- rrd_freemem(data); \
+ } \
+ rrd_info_free(save); \
RETVAL = newRV_noinc((SV*)hash);
/*
RETVAL = newRV_noinc((SV*)hash);
/*
RRD_CHECK_ERROR result = rb_hash_new();
RRD_CHECK_ERROR result = rb_hash_new();
while (data) {
VALUE key = rb_str_new2(data->key);
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));
break;
case RD_I_STR:
rb_hash_aset(result, key, rb_str_new2(data->value.u_str));
- rrd_freemem(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));
break;
case RD_I_BLO:
rb_hash_aset(result, key,
rb_str_new(data->value.u_blo.ptr,
data->value.u_blo.size));
- rrd_freemem(data->value.u_blo.ptr);