dougm 01/05/15 10:02:44
Modified: . Changes
src/modules/perl perl_config.c
Log:
adjust perl_clear_symtab() to deal properly bleedperl's version of
cv_undef() (which broke modules with directive handlers)
Revision Changes Path
1.592 +4 -0 modperl/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl/Changes,v
retrieving revision 1.591
retrieving revision 1.592
diff -u -r1.591 -r1.592
--- Changes 2001/05/01 17:28:28 1.591
+++ Changes 2001/05/15 17:02:19 1.592
@@ -10,6 +10,10 @@
=item 1.25_01-dev
+adjust perl_clear_symtab() to deal properly bleedperl's version of
+cv_undef() (which broke modules with directive handlers)
+thanks to Geoffrey Young for the spot
+
add $r->allowed method [Philippe Troin <[EMAIL PROTECTED]>]
fix 'make offsite-tar' [Geoffrey Young <[EMAIL PROTECTED]>]
1.109 +6 -2 modperl/src/modules/perl/perl_config.c
Index: perl_config.c
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -r1.108 -r1.109
--- perl_config.c 2000/12/30 05:08:59 1.108
+++ perl_config.c 2001/05/15 17:02:32 1.109
@@ -1697,8 +1697,12 @@
hv_clear(hv);
if((av = GvAV((GV*)val)))
av_clear(av);
- if((cv = GvCV((GV*)val)))
- cv_undef(cv);
+ if((cv = GvCV((GV*)val)) && (GvSTASH((GV*)val) == GvSTASH(CvGV(cv)))) {
+ GV *gv = CvGV(cv);
+ cv_undef(cv);
+ CvGV(cv) = gv;
+ GvCVGEN(gv) = 1; /* invalidate method cache */
+ }
}
}