summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorseki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-30 12:40:52 +0000
committerseki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-30 12:40:52 +0000
commitb72ef21cd3459c67761f6295670802c00a179a41 (patch)
treeebfaceb8de8601fbfb2c9100ab1eeea1108a6850 /lib
parentb104173c4c7ebee13ddd869d7285f601a0ef8722 (diff)
[ruby-dev:34497] ERB::Util#url_encode bug fix. Reported by rubikitch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/erb.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/erb.rb b/lib/erb.rb
index 42b3930c10..fade2c72ba 100644
--- a/lib/erb.rb
+++ b/lib/erb.rb
@@ -799,7 +799,9 @@ class ERB
# Programming%20Ruby%3A%20%20The%20Pragmatic%20Programmer%27s%20Guide
#
def url_encode(s)
- s.to_s.gsub(/[^a-zA-Z0-9_\-.]/n){ sprintf("%%%02X", $&.unpack("C")[0]) }
+ s.to_s.dup.force_encoding("ASCII-8BIT").gsub(/[^a-zA-Z0-9_\-.]/n) {
+ sprintf("%%%02X", $&.unpack("C")[0])
+ }
end
alias u url_encode
module_function :u