ruby-changes:11155
From: yugui <ko1@a...>
Date: Wed, 4 Mar 2009 18:21:27 +0900 (JST)
Subject: [ruby-changes:11155] Ruby:r22760 (ruby_1_9_1): merges r22706 from trunk into ruby_1_9_1.
yugui 2009-03-04 18:21:12 +0900 (Wed, 04 Mar 2009) New Revision: 22760 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22760 Log: merges r22706 from trunk into ruby_1_9_1. -- * lib/uri/common.rb (URI::Parser#escape): escaped string is ascii only. * lib/uri/common.rb (URI::Parser#unescape): converts bytewise. [ruby-dev:38005], [ruby-dev:38110] Modified files: branches/ruby_1_9_1/ChangeLog branches/ruby_1_9_1/lib/uri/common.rb Index: ruby_1_9_1/ChangeLog =================================================================== --- ruby_1_9_1/ChangeLog (revision 22759) +++ ruby_1_9_1/ChangeLog (revision 22760) @@ -1,3 +1,11 @@ +Mon Mar 2 19:43:02 2009 Nobuyoshi Nakada <nobu@r...> + + * lib/uri/common.rb (URI::Parser#escape): escaped string is ascii + only. + + * lib/uri/common.rb (URI::Parser#unescape): converts bytewise. + [ruby-dev:38005], [ruby-dev:38110] + Mon Mar 2 10:50:53 2009 Nobuyoshi Nakada <nobu@r...> * ext/dl/handle.c (rb_dlhandle_sym): get rid of buffer overrun, Index: ruby_1_9_1/lib/uri/common.rb =================================================================== --- ruby_1_9_1/lib/uri/common.rb (revision 22759) +++ ruby_1_9_1/lib/uri/common.rb (revision 22760) @@ -223,11 +223,11 @@ tmp << sprintf('%%%02X', uc) end tmp - end + end.force_encoding(Encoding::US_ASCII) end def unescape(str, escaped = @regexp[:ESCAPED]) - str.gsub(escaped) { [$&[1, 2].hex].pack('U') } + str.gsub(escaped) { [$&[1, 2].hex].pack('C') }.force_encoding(str.encoding) end @@to_s = Kernel.instance_method(:to_s) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/