dougm 02/03/24 14:51:04
Modified: . Changes STATUS
src/modules/perl perl_config.c
Log:
Submitted by: Stephen Clouse <[EMAIL PROTECTED]>
Reviewed by: dougm
do not clear symbol tables within a package in perl_clear_symtab()
used by directive handler extensions
Revision Changes Path
1.635 +4 -0 modperl/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl/Changes,v
retrieving revision 1.634
retrieving revision 1.635
diff -u -r1.634 -r1.635
--- Changes 24 Mar 2002 22:06:39 -0000 1.634
+++ Changes 24 Mar 2002 22:51:04 -0000 1.635
@@ -10,6 +10,10 @@
=item 1.26_01-dev
+do not clear symbol tables within a package in perl_clear_symtab()
+used by directive handler extensions
+[Stephen Clouse <[EMAIL PROTECTED]>]
+
properly deal with $r->status codes (e.g. redirect) in
Apache::RegistryNG [Geoff Young <[EMAIL PROTECTED]>]
1.11 +1 -6 modperl/STATUS
Index: STATUS
===================================================================
RCS file: /home/cvs/modperl/STATUS,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- STATUS 24 Mar 2002 22:06:39 -0000 1.10
+++ STATUS 24 Mar 2002 22:51:04 -0000 1.11
@@ -1,5 +1,5 @@
mod_perl 1.3 STATUS:
- Last modified at [$Date: 2002/03/24 22:06:39 $]
+ Last modified at [$Date: 2002/03/24 22:51:04 $]
Release:
@@ -21,11 +21,6 @@
Status:
doc patch at
http://marc.theaimsgroup.com/?l=apache-modperl&m=97450363501652&w=2
- * vanishing symbol tables
- Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=100820262006934&w=2
- Status:
- patch available
-
* $r->finfo problem with HTML::Mason::ApacheHandler
Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=96854561311519&w=2
Status:
1.114 +22 -1 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.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- perl_config.c 24 Mar 2002 21:00:06 -0000 1.113
+++ perl_config.c 24 Mar 2002 22:51:04 -0000 1.114
@@ -1666,6 +1666,27 @@
}
}
+static int gvhv_is_stash(GV *gv)
+{
+ int len = GvNAMELEN(gv);
+ char *name = GvNAME(gv);
+
+ if ((len > 2) &&
+ (name[len - 1] == ':') &&
+ (name[len - 2] == ':'))
+ {
+ return 1;
+ }
+
+ return 0;
+}
+
+/*
+ * we do not clear symbols within packages, the desired behavior
+ * for directive handler classes. and there should never be a package
+ * within the %Apache::ReadConfig. nothing else that i'm aware of calls
+ * this function, so we should be ok.
+ */
void perl_clear_symtab(HV *symtab)
{
SV *val;
@@ -1684,7 +1705,7 @@
continue;
if((sv = GvSV((GV*)val)))
sv_setsv(GvSV((GV*)val), &sv_undef);
- if((hv = GvHV((GV*)val)))
+ if((hv = GvHV((GV*)val)) && !gvhv_is_stash((GV*)val))
hv_clear(hv);
if((av = GvAV((GV*)val)))
av_clear(av);