You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apreq-cvs@httpd.apache.org by do...@apache.org on 2001/01/09 05:21:08 UTC

cvs commit: httpd-apreq/Request Request.xs

dougm       01/01/08 20:21:08

  Modified:    .        Changes
               Request  Request.xs
  Log:
  fix subclassing mechanism so the the value of an `r' or `_r' key can
  be a hash ref
  
  Revision  Changes    Path
  1.28      +3 -0      httpd-apreq/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/httpd-apreq/Changes,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- Changes	2001/01/07 03:31:35	1.27
  +++ Changes	2001/01/09 04:21:07	1.28
  @@ -4,6 +4,9 @@
   
   =item 0.32 - ?
   
  +fix subclassing mechanism so the the value of an `r' or `_r' key can
  +be a hash ref [dougm]
  +
   fix win32 build (requires mod_perl later than 1.24_01)
   [Randy Kobes <ra...@theoryx5.uwinnipeg.ca>]
   
  
  
  
  1.7       +6 -4      httpd-apreq/Request/Request.xs
  
  Index: Request.xs
  ===================================================================
  RCS file: /home/cvs/httpd-apreq/Request/Request.xs,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Request.xs	2001/01/07 03:31:36	1.6
  +++ Request.xs	2001/01/09 04:21:08	1.7
  @@ -41,14 +41,16 @@
   static ApacheRequest *sv_2apreq(SV *sv)
   {
       if (SvROK(sv) && sv_derived_from(sv, "Apache::Request")) { 
  -	SV *obj;
  +	SV *obj = sv;
   
  -	switch (SvTYPE(SvRV(sv))) {
  +	switch (SvTYPE(SvRV(obj))) {
   	case SVt_PVHV :
  -	    obj = r_key_sv(sv);
  +            do {
  +                obj = r_key_sv(obj);
  +            } while (SvROK(obj) && (SvTYPE(SvRV(obj)) == SVt_PVHV));
   	    break;
   	default:
  -	    obj = sv;
  +	    break;
   	};
   	return (ApacheRequest *)SvIV((SV*)SvRV(obj)); 
       }