#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "INLINE.h" void inc_refcnt(SV * sv ) { SvREFCNT_inc(sv); } SV * get_refcnt(SV * sv) { return newSVuv(svREFCNT(sv)); } MODULE = exp_pl_aa05 PACKAGE = main PROTOTYPES: DISABLE void inc_refcnt (sv) SV * sv PREINIT: I32* temp; PPCODE: temp = PL_markstack_ptr++; inc_refcnt(sv); if (PL_markstack_ptr != temp) { /* truly void, because dXSARGS not invoked */ PL_markstack_ptr = temp; XSRETURN_EMPTY; /* return empty stack */ } /* must have used dXSARGS; list context implied */ return; /* assume stack size is correct */ SV * get_refcnt (sv) SV * sv