1 |
difforig Alias-2.32 |
2 |
|
3 |
diff -u Alias-2.32/Alias.xs.orig |
4 |
--- Alias-2.32/Alias.xs.orig 1999-05-01 04:11:09.000000000 +0200 |
5 |
+++ Alias-2.32/Alias.xs 2011-04-04 18:10:04.219875000 +0200 |
6 |
@@ -15,6 +15,10 @@ |
7 |
#define PERL_SUBVERSION SUBVERSION |
8 |
#endif |
9 |
|
10 |
+#ifndef GvCV_set |
11 |
+#define GvCV_set(gv,cv) GvCV((gv)) = (cv) |
12 |
+#endif |
13 |
+ |
14 |
#if PERL_REVISION == 5 && (PERL_VERSION < 4 || (PERL_VERSION == 4 && PERL_SUBVERSION <= 75 )) |
15 |
|
16 |
#define PL_stack_sp stack_sp |
17 |
@@ -96,6 +100,7 @@ |
18 |
(void)hv_iterinit(hv); |
19 |
while ((val = hv_iternextsv(hv, &key, &klen))) { |
20 |
GV *gv; |
21 |
+ CV *cv; |
22 |
int stype = SvTYPE(val); |
23 |
int deref_this = 1; |
24 |
int deref_objects = 0; |
25 |
@@ -205,8 +210,9 @@ |
26 |
save_gp(gv,TRUE); /* hide previous entry in symtab */ |
27 |
break; |
28 |
case SVt_PVCV: |
29 |
- SAVESPTR(GvCV(gv)); |
30 |
- GvCV(gv) = Null(CV*); |
31 |
+ cv = GvCV(gv); |
32 |
+ SAVESPTR(cv); |
33 |
+ GvCV_set(gv,Null(CV*)); |
34 |
break; |
35 |
default: |
36 |
save_scalar(gv); |