X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=bindings%2Fperl-shared%2FRRDs.xs;h=da77457ffeaebeefc96c298ce4d787263e28796d;hp=e2a0c8f8252d05d05028aad19754c878dfc58d13;hb=07c45ee5163cc2c621c356f437f1bf584f10c14c;hpb=0873fc86cb3d4286e2bde9c0a458e7d2f8624e8d diff --git a/bindings/perl-shared/RRDs.xs b/bindings/perl-shared/RRDs.xs index e2a0c8f..da77457 100644 --- a/bindings/perl-shared/RRDs.xs +++ b/bindings/perl-shared/RRDs.xs @@ -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 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(...)