summaryrefslogtreecommitdiffstats
path: root/XS.xs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-01-25 00:39:30 -0600
committerJesse Luehrs <doy@tozt.net>2011-01-25 00:39:30 -0600
commit22d15de65453244c94a2e23d60dc8f22ab1994ef (patch)
treee3a8944da2ae6353159f52c32aabb55289a5524a /XS.xs
parent99f3d8d0569fdc8cfd83ee3a36eb21f98d3b259a (diff)
downloadpackage-stash-xs-22d15de65453244c94a2e23d60dc8f22ab1994ef.tar.gz
package-stash-xs-22d15de65453244c94a2e23d60dc8f22ab1994ef.zip
xs forward compat
Diffstat (limited to 'XS.xs')
-rw-r--r--XS.xs6
1 files changed, 5 insertions, 1 deletions
diff --git a/XS.xs b/XS.xs
index b0519de..159aa5a 100644
--- a/XS.xs
+++ b/XS.xs
@@ -24,6 +24,10 @@
#define savesvpv(s) savepv(SvPV_nolen(s))
#endif
+#ifndef GvCV_set
+#define GvCV_set(gv, cv) (GvCV(gv) = (CV*)(cv))
+#endif
+
/* HACK: scalar slots are always populated on perl < 5.10, so treat undef
* as nonexistent. this is consistent with the previous behavior of the pure
* perl version of this module (since this is the behavior that perl sees
@@ -68,7 +72,7 @@
} while (0)
#define GvSetCV(g,v) do { \
SvREFCNT_dec(GvCV(g)); \
- if ((GvCV(g) = (CV*)(v))) { \
+ if ((GvCV_set(g, v))) { \
GvIMPORTED_CV_on(g); \
GvASSUMECV_on(g); \
} \