projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove perl 5.004 compatibility hack and make things work on newer perls in exchange :-)
[rrdtool.git]
/
bindings
/
perl-shared
/
RRDs.xs
diff --git
a/bindings/perl-shared/RRDs.xs
b/bindings/perl-shared/RRDs.xs
index
76f86b8
..
252018f
100644
(file)
--- a/
bindings/perl-shared/RRDs.xs
+++ b/
bindings/perl-shared/RRDs.xs
@@
-24,18
+24,14
@@
extern "C" {
*/
#define VERSION_SAVED VERSION
#undef VERSION
*/
#define VERSION_SAVED VERSION
#undef VERSION
-#include "../../config.h"
+#ifndef WIN32
+#include "../../rrd_config.h"
+#endif
#include "../../src/rrd_tool.h"
#undef VERSION
#define VERSION VERSION_SAVED
#undef VERSION_SAVED
#include "../../src/rrd_tool.h"
#undef VERSION
#define VERSION VERSION_SAVED
#undef VERSION_SAVED
-/* perl 5.004 compatibility */
-#if PERLPATCHLEVEL < 5
-#define PL_sv_undef sv_undef
-#endif
-
-
#define rrdcode(name) \
argv = (char **) malloc((items+1)*sizeof(char *));\
argv[0] = "dummy";\
#define rrdcode(name) \
argv = (char **) malloc((items+1)*sizeof(char *));\
argv[0] = "dummy";\
@@
-78,8
+74,8
@@
extern "C" {
free(argv); \
if (rrd_test_error()) XSRETURN_UNDEF; \
hash = newHV(); \
free(argv); \
if (rrd_test_error()) XSRETURN_UNDEF; \
hash = newHV(); \
+ save=data; \
while (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) { \
/* 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) { \
@@
-97,14
+93,14
@@
extern "C" {
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; \
} \
break; \
} \
- rrd_freemem(data->key); \
data = data->next; \
data = data->next; \
- rrd_freemem(save); \
- } \
- rrd_freemem(data); \
+ } \
+ rrd_info_free(save); \
RETVAL = newRV_noinc((SV*)hash);
/*
RETVAL = newRV_noinc((SV*)hash);
/*
@@
-126,7
+122,6
@@
BOOT:
#ifdef MUST_DISABLE_FPMASK
fpsetmask(0);
#endif
#ifdef MUST_DISABLE_FPMASK
fpsetmask(0);
#endif
-
SV*
rrd_error()
SV*
rrd_error()
@@
-136,7
+131,6
@@
rrd_error()
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
int
rrd_last(...)
PROTOTYPE: @
int
rrd_last(...)
PROTOTYPE: @
@@
-159,7
+153,6
@@
rrd_first(...)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
int
rrd_create(...)
PROTOTYPE: @
int
rrd_create(...)
PROTOTYPE: @
@@
-172,7
+165,6
@@
rrd_create(...)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
int
rrd_update(...)
PROTOTYPE: @
int
rrd_update(...)
PROTOTYPE: @
@@
-185,7
+177,6
@@
rrd_update(...)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
int
rrd_tune(...)
PROTOTYPE: @
int
rrd_tune(...)
PROTOTYPE: @
@@
-198,8
+189,7
@@
rrd_tune(...)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
-void
+SV *
rrd_graph(...)
PROTOTYPE: @
PREINIT:
rrd_graph(...)
PROTOTYPE: @
PREINIT:
@@
-245,7
+235,7
@@
rrd_graph(...)
PUSHs(sv_2mortal(newSViv(xsize)));
PUSHs(sv_2mortal(newSViv(ysize)));
PUSHs(sv_2mortal(newSViv(xsize)));
PUSHs(sv_2mortal(newSViv(ysize)));
-void
+SV *
rrd_fetch(...)
PROTOTYPE: @
PREINIT:
rrd_fetch(...)
PROTOTYPE: @
PREINIT:
@@
-298,25
+288,25
@@
rrd_fetch(...)
PUSHs(sv_2mortal(newRV_noinc((SV*)names)));
PUSHs(sv_2mortal(newRV_noinc((SV*)retar)));
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:
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();
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;
}
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;
}
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);
XSRETURN_UNDEF;
}
EXTEND(sp,2);
@@
-385,7
+375,7
@@
SV*
rrd_info(...)
PROTOTYPE: @
PREINIT:
rrd_info(...)
PROTOTYPE: @
PREINIT:
- info_t *data,*save;
+
rrd_
info_t *data,*save;
int i;
char **argv;
HV *hash;
int i;
char **argv;
HV *hash;
@@
-398,7
+388,7
@@
SV*
rrd_updatev(...)
PROTOTYPE: @
PREINIT:
rrd_updatev(...)
PROTOTYPE: @
PREINIT:
- info_t *data,*save;
+
rrd_
info_t *data,*save;
int i;
char **argv;
HV *hash;
int i;
char **argv;
HV *hash;
@@
-407,6
+397,19
@@
rrd_updatev(...)
OUTPUT:
RETVAL
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: @
int
rrd_dump(...)
PROTOTYPE: @
@@
-431,3
+434,16
@@
rrd_restore(...)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
+#ifndef WIN32
+int
+rrd_flushcached(...)
+ PROTOTYPE: @
+ PREINIT:
+ int i;
+ char **argv;
+ CODE:
+ rrdcode(rrd_flushcached);
+ OUTPUT:
+ RETVAL
+
+#endif