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
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);
|
|
|