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!",