dougm       01/01/04 21:48:14

  Modified:    .        Changes
               src/modules/perl perl_util.c
  Log:
  fix $r subclassing mechanism when value of `r' or `_r' key is a hashref
  
  Revision  Changes    Path
  1.569     +3 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.568
  retrieving revision 1.569
  diff -u -r1.568 -r1.569
  --- Changes   2001/01/05 05:42:19     1.568
  +++ Changes   2001/01/05 05:48:14     1.569
  @@ -10,6 +10,9 @@
   
   =item 1.24_02-dev
   
  +fix $r subclassing mechanism when value of `r' or `_r' key is a hashref
  +thanks to Dave LaMacchia for the spot
  +
   fix Apache::PerlRun is-a -> has-a Apache relationship change oversight
   [Ken Williams <[EMAIL PROTECTED]>]
   
  
  
  
  1.44      +6 -1      modperl/src/modules/perl/perl_util.c
  
  Index: perl_util.c
  ===================================================================
  RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- perl_util.c       2000/09/29 16:33:40     1.43
  +++ perl_util.c       2001/01/05 05:48:14     1.44
  @@ -122,8 +122,13 @@
            int klen = strlen(r_keys[i]);
            if(hv_exists((HV*)SvRV(in), r_keys[i], klen) &&
               (sv = *hv_fetch((HV*)SvRV(in), 
  -                            r_keys[i], klen, FALSE)))
  +                            r_keys[i], klen, FALSE))) {
  +                if (SvROK(sv) && (SvTYPE(SvRV(sv)) == SVt_PVHV)) {
  +                    /* dig deeper */
  +                    return sv2request_rec(sv, pclass, cv);
  +                }
                break;
  +            }
        }
        if(!sv)
            croak("method `%s' invoked by a `%s' object with no `r' key!",
  
  
  

Reply via email to