summaryrefslogtreecommitdiffstats
path: root/Stash.xs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-11-13 20:20:58 -0600
committerJesse Luehrs <doy@tozt.net>2010-11-13 20:20:58 -0600
commit13f8a7b7b39875f66ff01549bc0e16dbba4db144 (patch)
treec61b14ea770d1dadc8bbedf0d6d0397276005e07 /Stash.xs
parent15c104e23985b21347465208bbf0aef53db3d105 (diff)
downloadpackage-stash-xs-13f8a7b7b39875f66ff01549bc0e16dbba4db144.tar.gz
package-stash-xs-13f8a7b7b39875f66ff01549bc0e16dbba4db144.zip
add some compatibility shims
Diffstat (limited to 'Stash.xs')
-rw-r--r--Stash.xs20
1 files changed, 19 insertions, 1 deletions
diff --git a/Stash.xs b/Stash.xs
index 7078b95..c2a4229 100644
--- a/Stash.xs
+++ b/Stash.xs
@@ -6,6 +6,24 @@
#define NEED_sv_2pv_flags
#include "ppport.h"
+#ifndef gv_fetchsv
+#define gv_fetchsv(n,f,t) gv_fetchpv(SvPV_nolen(n), f, t)
+#endif
+
+#ifndef mro_method_changed_in
+#define mro_method_changed_in(x) PL_sub_generation++
+#endif
+
+#ifdef newSVhek
+#define newSVhe(he) newSVhek(HeKEY_hek(he))
+#else
+#define newSVhe(he) newSVpvn(HePV(he))
+#endif
+
+#ifndef savesvpv
+#define savesvpv(s) savepv(SvPV_nolen(s))
+#endif
+
typedef enum {
VAR_NONE = 0,
VAR_SCALAR,
@@ -564,7 +582,7 @@ list_all_symbols(self, vartype=VAR_NONE)
keys = hv_iterinit(namespace);
EXTEND(SP, keys);
while ((entry = hv_iternext(namespace))) {
- mPUSHs(newSVhek(HeKEY_hek(entry)));
+ mPUSHs(newSVhe(entry));
}
}
else {