index f84efef67419f876f2c0ff0035eefee0176801cd..029b3beeebe0a3de3190e29d5e0f8419ac6c7ad3 100644 (file)
free(argv); \
if (rrd_test_error()) XSRETURN_UNDEF; \
hash = newHV(); \
+ save=data; \
while (data) { \
- save=data; \
/* 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)); \
- rrd_freemem(data->value.u_str); \
+ break; \
+ case RD_I_BLO: \
+ hvs(newSVpv(data->value.u_blo.ptr,data->value.u_blo.size)); \
break; \
} \
- rrd_freemem(data->key); \
data = data->next; \
- rrd_freemem(save); \
- } \
- rrd_freemem(data); \
+ } \
+ rrd_info_free(save); \
RETVAL = newRV_noinc((SV*)hash);
/*
RETVAL
-void
+SV *
rrd_graph(...)
PROTOTYPE: @
PREINIT:
PUSHs(sv_2mortal(newSViv(xsize)));
PUSHs(sv_2mortal(newSViv(ysize)));
-void
+SV *
rrd_fetch(...)
PROTOTYPE: @
PREINIT:
PUSHs(sv_2mortal(newRV_noinc((SV*)names)));
PUSHs(sv_2mortal(newRV_noinc((SV*)retar)));
-void
+SV *
rrd_times(start, end)
char *start
char *end
PREINIT:
- struct rrd_time_value start_tv, end_tv;
+ rrd_time_value_t start_tv, end_tv;
char *parsetime_error = NULL;
time_t start_tmp, end_tmp;
PPCODE:
rrd_clear_error();
- if( (parsetime_error = parsetime( start, &start_tv))) {
- rrd_set_error( "start time: %s", parsetime_error);
+ if ((parsetime_error = rrd_parsetime(start, &start_tv))) {
+ rrd_set_error("start time: %s", parsetime_error);
XSRETURN_UNDEF;
}
- if( (parsetime_error = parsetime( end, &end_tv))) {
- rrd_set_error( "end time: %s", parsetime_error);
+ if ((parsetime_error = rrd_parsetime(end, &end_tv))) {
+ rrd_set_error("end time: %s", parsetime_error);
XSRETURN_UNDEF;
}
- if( proc_start_end( &start_tv, &end_tv, &start_tmp, &end_tmp) == -1) {
+ if (rrd_proc_start_end(&start_tv, &end_tv, &start_tmp, &end_tmp) == -1) {
XSRETURN_UNDEF;
}
EXTEND(sp,2);
rrd_info(...)
PROTOTYPE: @
PREINIT:
- info_t *data,*save;
+ rrd_info_t *data,*save;
int i;
char **argv;
HV *hash;
rrd_updatev(...)
PROTOTYPE: @
PREINIT:
- info_t *data,*save;
+ rrd_info_t *data,*save;
int i;
char **argv;
HV *hash;
OUTPUT:
RETVAL
+SV*
+rrd_graphv(...)
+ PROTOTYPE: @
+ PREINIT:
+ rrd_info_t *data,*save;
+ int i;
+ char **argv;
+ HV *hash;
+ CODE:
+ rrdinfocode(rrd_graph_v);
+ OUTPUT:
+ RETVAL
+
int
rrd_dump(...)
PROTOTYPE: @
OUTPUT:
RETVAL
+int
+rrd_flushcached(...)
+ PROTOTYPE: @
+ PREINIT:
+ int i;
+ char **argv;
+ CODE:
+ rrdcode(rrd_flushcached);
+ OUTPUT:
+ RETVAL