You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
920 B

Index: Alias-2.32/Alias.xs
--- Alias-2.32/Alias.xs.orig 1999-05-01 04:11:09.000000000 +0200
+++ Alias-2.32/Alias.xs 2011-06-19 15:08:26.000000000 +0200
@@ -15,6 +15,10 @@
#define PERL_SUBVERSION SUBVERSION
#endif
+#ifndef GvCV_set
+#define GvCV_set(gv,cv) GvCV((gv)) = (cv)
+#endif
+
#if PERL_REVISION == 5 && (PERL_VERSION < 4 || (PERL_VERSION == 4 && PERL_SUBVERSION <= 75 ))
#define PL_stack_sp stack_sp
@@ -96,6 +100,7 @@
(void)hv_iterinit(hv);
while ((val = hv_iternextsv(hv, &key, &klen))) {
GV *gv;
+ CV *cv;
int stype = SvTYPE(val);
int deref_this = 1;
int deref_objects = 0;
@@ -205,8 +210,9 @@
save_gp(gv,TRUE); /* hide previous entry in symtab */
break;
case SVt_PVCV:
- SAVESPTR(GvCV(gv));
- GvCV(gv) = Null(CV*);
+ cv = GvCV(gv);
+ SAVESPTR(cv);
+ GvCV_set(gv,Null(CV*));
break;
default:
save_scalar(gv);