X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=bindings%2Fperl-shared%2FRRDs.xs;h=bf108e375a1f7dcd3d12cb7eda52655e05cc8443;hp=afb55f08bc4711adbc6824ded14e7d6c16b2cee6;hb=b837c0527f117b54845242ee7626df6d88394444;hpb=d1e55cdc27a837fb0f4c54ed019e3946e7a6e08b diff --git a/bindings/perl-shared/RRDs.xs b/bindings/perl-shared/RRDs.xs index afb55f0..bf108e3 100644 --- a/bindings/perl-shared/RRDs.xs +++ b/bindings/perl-shared/RRDs.xs @@ -176,7 +176,7 @@ void rrd_graph(...) PROTOTYPE: @ PREINIT: - char **calcpr; + char **calcpr=NULL; int i,xsize,ysize; char **argv; AV *retar; @@ -272,6 +272,30 @@ rrd_fetch(...) PUSHs(sv_2mortal(newRV_noinc((SV*)names))); PUSHs(sv_2mortal(newRV_noinc((SV*)retar))); +void +rrd_times(start, end) + char *start + char *end + PREINIT: + struct rrd_time_value 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); + XSRETURN_UNDEF; + } + if( (parsetime_error = 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) { + XSRETURN_UNDEF; + } + EXTEND(sp,2); + PUSHs(sv_2mortal(newSVuv(start_tmp))); + PUSHs(sv_2mortal(newSVuv(end_tmp))); int rrd_xport(...)