Author: gozer Date: Mon Mar 13 15:10:07 2006 New Revision: 385693 URL: http://svn.apache.org/viewcvs?rev=385693&view=rev Log: Fix an Apache::(Registry|PerlRun) bug caused by special characters +in the url. Url characters with ord(n) < 10 would not be escaped proprely and leave a litteral space in the package name
Submitted-By: [EMAIL PROTECTED] Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/lib/Apache/PerlRun.pm perl/modperl/branches/1.x/lib/Apache/Registry.pm Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/branches/1.x/Changes?rev=385693&r1=385692&r2=385693&view=diff ============================================================================== --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Mon Mar 13 15:10:07 2006 @@ -10,6 +10,9 @@ =item 1.30_01-dev +Fix an Apache::(Registry|PerlRun) bug caused by special characters +in the url [EMAIL PROTECTED] + Display a more verbose message if Apache.pm can't be loaded [Geoffrey Young] Modified: perl/modperl/branches/1.x/lib/Apache/PerlRun.pm URL: http://svn.apache.org/viewcvs/perl/modperl/branches/1.x/lib/Apache/PerlRun.pm?rev=385693&r1=385692&r2=385693&view=diff ============================================================================== --- perl/modperl/branches/1.x/lib/Apache/PerlRun.pm (original) +++ perl/modperl/branches/1.x/lib/Apache/PerlRun.pm Mon Mar 13 15:10:07 2006 @@ -189,14 +189,14 @@ my $script_name = $pr->namespace_from; # Escape everything into valid perl identifiers - $script_name =~ s/([^A-Za-z0-9_\/])/sprintf("_%2x",unpack("C",$1))/eg; + $script_name =~ s/([^A-Za-z0-9_\/])/sprintf("_%02x",unpack("C",$1))/eg; # second pass cares for slashes and words starting with a digit $script_name =~ s{ (/+) # directory (\d?) # package's first character }[ - "::" . (length $2 ? sprintf("_%2x",unpack("C",$2)) : "") + "::" . (length $2 ? sprintf("_%02x",unpack("C",$2)) : "") ]egx; $Apache::Registry::curstash = $script_name; Modified: perl/modperl/branches/1.x/lib/Apache/Registry.pm URL: http://svn.apache.org/viewcvs/perl/modperl/branches/1.x/lib/Apache/Registry.pm?rev=385693&r1=385692&r2=385693&view=diff ============================================================================== --- perl/modperl/branches/1.x/lib/Apache/Registry.pm (original) +++ perl/modperl/branches/1.x/lib/Apache/Registry.pm Mon Mar 13 15:10:07 2006 @@ -81,14 +81,14 @@ } # Escape everything into valid perl identifiers - $script_name =~ s/([^A-Za-z0-9_\/])/sprintf("_%2x",unpack("C",$1))/eg; + $script_name =~ s/([^A-Za-z0-9_\/])/sprintf("_%02x",unpack("C",$1))/eg; # second pass cares for slashes and words starting with a digit $script_name =~ s{ (/+) # directory (\d?) # package's first character }[ - "::" . (length $2 ? sprintf("_%2x",unpack("C",$2)) : "") + "::" . (length $2 ? sprintf("_%02x",unpack("C",$2)) : "") ]egx; my $package = "Apache::ROOT$script_name";