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


Reply via email to