From 3a645975f55f5a511e25eb985ea83aa872f659a0 Mon Sep 17 00:00:00 2001 From: nagachika Date: Mon, 15 Apr 2013 16:34:55 +0000 Subject: [PATCH] merge revision(s) 40181: [Backport #8183] * lib/cgi/util.rb (CGI::unescapeHTML): fix Hexadecimal numeric character. [Bug #8183] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/cgi/util.rb | 2 +- test/cgi/test_cgi_util.rb | 4 ++++ version.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/cgi/util.rb b/lib/cgi/util.rb index 41ae724c8c..0959f0f094 100644 --- a/lib/cgi/util.rb +++ b/lib/cgi/util.rb @@ -55,7 +55,7 @@ class CGI end end asciicompat = Encoding.compatible?(string, "a") - string.gsub(/&(apos|amp|quot|gt|lt|\#[0-9]+|\#x[0-9A-Fa-f]+);/) do + string.gsub(/&(apos|amp|quot|gt|lt|\#[0-9]+|\#[xX][0-9A-Fa-f]+);/) do match = $1.dup case match when 'apos' then "'" diff --git a/test/cgi/test_cgi_util.rb b/test/cgi/test_cgi_util.rb index 2c003a0300..7129cb6c9e 100644 --- a/test/cgi/test_cgi_util.rb +++ b/test/cgi/test_cgi_util.rb @@ -61,4 +61,8 @@ class CGIUtilTest < Test::Unit::TestCase assert_equal(CGI::unescapeHTML("'&"><"),"'&\"><") end + def test_cgi_unescapeHTML_uppercasecharacter + assert_equal(CGI::unescapeHTML("あいう"),"\xE3\x81\x82\xE3\x81\x84\xE3\x81\x86") + end + end diff --git a/version.h b/version.h index f5fb7dc75a..09f0cf0123 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2013-04-16" -#define RUBY_PATCHLEVEL 140 +#define RUBY_PATCHLEVEL 141 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 4