summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--lib/uri/common.rb4
2 files changed, 5 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index da8a2cc478..4420f0a5ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Jul 31 18:32:25 2013 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/uri/common.rb (URI.decode_www_form_component): Use String#b.
+
Wed Jul 31 18:24:02 2013 Shugo Maeda <shugo@ruby-lang.org>
* eval.c (rb_mod_refine, mod_using, top_using): don't show
diff --git a/lib/uri/common.rb b/lib/uri/common.rb
index 8c657cdee7..771be971a5 100644
--- a/lib/uri/common.rb
+++ b/lib/uri/common.rb
@@ -899,9 +899,7 @@ module URI
# See URI.encode_www_form_component, URI.decode_www_form
def self.decode_www_form_component(str, enc=Encoding::UTF_8)
raise ArgumentError, "invalid %-encoding (#{str})" unless /\A[^%]*(?:%\h\h[^%]*)*\z/ =~ str
- str.dup.force_encoding("ASCII-8BIT") \
- .gsub(/\+|%\h\h/, TBLDECWWWCOMP_) \
- .force_encoding(enc)
+ str.b.gsub(/\+|%\h\h/, TBLDECWWWCOMP_).force_encoding(enc)
end
# Generate URL-encoded form data from given +enum+.