You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2001/01/05 06:48:14 UTC
cvs commit: modperl/src/modules/perl perl_util.c
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 <ke...@forum.swarthmore.edu>]
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!",