#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "INLINE.h" void foo() { printf("%x\n", GIMME_V); printf("%x\n", G_ARRAY); printf("%d\n", GIMME_V == G_ARRAY); } MODULE = try_pl_73cf PACKAGE = main PROTOTYPES: DISABLE void foo () PREINIT: I32* temp; PPCODE: temp = PL_markstack_ptr++; foo(); 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 */