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";