gozer 2004/08/25 15:32:02
Modified: . Changes t/response/TestAPI uri.pm todo release xs/APR/URI APR__URI.h xs/maps apr_functions.map xs/tables/current/ModPerl FunctionTable.pm Log: Added APR::URI->rpath method. Returns the path of an uri minus path_info, if any. Revision Changes Path 1.470 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.469 retrieving revision 1.470 diff -u -r1.469 -r1.470 --- Changes 25 Aug 2004 21:51:18 -0000 1.469 +++ Changes 25 Aug 2004 22:31:58 -0000 1.470 @@ -12,6 +12,9 @@ =item 1.99_17-dev +Added APR::URI->rpath method. Returns the path of an uri minus +path_info, if any. [Gozer] + moved Apache::current_callback() to ModPerl::Util::current_callback where it belongs [Gozer] 1.18 +6 -1 modperl-2.0/t/response/TestAPI/uri.pm Index: uri.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/uri.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- uri.pm 8 Jul 2004 05:29:42 -0000 1.17 +++ uri.pm 25 Aug 2004 22:31:59 -0000 1.18 @@ -20,7 +20,7 @@ sub handler { my $r = shift; - plan $r, tests => 22; + plan $r, tests => 24; $r->args('query'); @@ -146,13 +146,18 @@ # new request $newr->parse_uri($url_string); + $newr->path_info('/bar'); ok t_cmp($newr->uri, $path, "uri"); ok t_cmp($newr->args, $query, "args"); + ok t_cmp($newr->path_info, '/bar', "path_info"); my $puri = $newr->parsed_uri; ok t_cmp($puri->path, $path, "path"); ok t_cmp($puri->query, $query, "query"); ok t_cmp($puri->fragment, $fragment, "fragment"); + + #rpath + ok t_cmp($puri->rpath, '/foo', "rpath"); my $port = 6767; $puri->port($port); 1.53 +0 -2 modperl-2.0/todo/release Index: release =================================================================== RCS file: /home/cvs/modperl-2.0/todo/release,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- release 25 Aug 2004 21:51:20 -0000 1.52 +++ release 25 Aug 2004 22:31:59 -0000 1.53 @@ -8,8 +8,6 @@ should be rewritten to clearly explain how to build static and dynamic mod_perl (each separately). -* APR::URI missing $uri->rpath (was in mp1) - * check other todo/features_missing items (some of them might be critical for 2.0 release, since missing methods might be a problem for migration) 1.9 +20 -0 modperl-2.0/xs/APR/URI/APR__URI.h Index: APR__URI.h =================================================================== RCS file: /home/cvs/modperl-2.0/xs/APR/URI/APR__URI.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- APR__URI.h 28 May 2004 01:36:40 -0000 1.8 +++ APR__URI.h 25 Aug 2004 22:32:00 -0000 1.9 @@ -70,3 +70,23 @@ return port_str; } +static MP_INLINE +SV *mpxs_APR__URI_rpath(pTHX_ apr_uri_t *apr_uri) +{ + modperl_uri_t *uri = (modperl_uri_t *)apr_uri; + + if(uri->path_info) { + int uri_len = strlen(uri->uri.path); + int n = strlen(uri->path_info); + int set = uri_len - n; + if (set > 0) { + return newSVpv(uri->uri.path, set); + } + } + else { + if (uri->uri.path) { + return newSVpv(uri->uri.path, 0); + } + } + return Nullsv; +} 1.85 +1 -0 modperl-2.0/xs/maps/apr_functions.map Index: apr_functions.map =================================================================== RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- apr_functions.map 20 Aug 2004 21:11:00 -0000 1.84 +++ apr_functions.map 25 Aug 2004 22:32:01 -0000 1.85 @@ -582,6 +582,7 @@ uptr, flags=APR_URI_UNP_OMITPASSWORD | unparse #special case to set both uri->port and uri->port_str mpxs_APR__URI_port | | uri, portsv=Nullsv + mpxs_APR__URI_rpath apr_uri_port_of_scheme !MODULE=Apache::XML 1.176 +15 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.175 retrieving revision 1.176 diff -u -r1.175 -r1.176 --- FunctionTable.pm 22 Aug 2004 20:47:37 -0000 1.175 +++ FunctionTable.pm 25 Aug 2004 22:32:01 -0000 1.176 @@ -2,7 +2,7 @@ # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # ! WARNING: generated by ModPerl::ParseSource/0.01 -# ! Fri Aug 20 12:01:12 2004 +# ! Wed Aug 25 14:56:13 2004 # ! do NOT edit, any changes will be lost ! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -5708,6 +5708,20 @@ { 'type' => 'SV *', 'name' => 'portsv' + } + ] + }, + { + 'return_type' => 'SV *', + 'name' => 'mpxs_APR__URI_rpath', + 'args' => [ + { + 'type' => 'PerlInterpreter *', + 'name' => 'my_perl' + }, + { + 'type' => 'apr_uri_t *', + 'name' => 'apr_uri' } ] },