[前][次][番号順一覧][スレッド一覧]

ruby-changes:7283

From: naruse <ko1@a...>
Date: Sun, 24 Aug 2008 11:28:14 +0900 (JST)
Subject: [ruby-changes:7283] Ruby:r18802 (trunk): * lib/cgi.rb (CGI::unescapeHTML): consider ISO-8859-1.

naruse	2008-08-24 11:27:47 +0900 (Sun, 24 Aug 2008)

  New Revision: 18802

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18802

  Log:
    * lib/cgi.rb (CGI::unescapeHTML): consider ISO-8859-1.
      [ruby-dev:35936]

  Modified files:
    trunk/ChangeLog
    trunk/lib/cgi.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18801)
+++ ChangeLog	(revision 18802)
@@ -1,3 +1,8 @@
+Sun Aug 24 11:26:54 2008  NARUSE, Yui  <naruse@r...>
+
+	* lib/cgi.rb (CGI::unescapeHTML): consider ISO-8859-1.
+	  [ruby-dev:35936]
+
 Sun Aug 24 10:55:00 2008  NARUSE, Yui  <naruse@r...>
 
 	* enc/emacs_mule.c: support Emacs/Mule internal encoding.
Index: lib/cgi.rb
===================================================================
--- lib/cgi.rb	(revision 18801)
+++ lib/cgi.rb	(revision 18802)
@@ -396,18 +396,20 @@
       when 'gt'                  then '>'
       when 'lt'                  then '<'
       when /\A#0*(\d+)\z/
-	if enc == Encoding::UTF_8
-	  $1.to_i.chr(enc)
-	elsif $1.to_i < 128 && asciicompat
-	  $1.to_i.chr
+        n = $1.to_i
+	if enc == Encoding::UTF_8 or
+          enc == Encoding::ISO_8859_1 && n < 256 or
+          asciicompat && n < 128
+	  n.chr(enc)
 	else
 	  "&##{$1};"
 	end
       when /\A#x([0-9a-f]+)\z/i
-	if enc == Encoding::UTF_8
-	  $1.hex.chr(enc)
-	elsif $1.hex < 128 && asciicompat
-	  $1.hex.chr
+        n = $1.hex
+	if enc == Encoding::UTF_8 or
+          enc == Encoding::ISO_8859_1 && n < 256 or
+          asciicompat && n < 128
+	  n.chr(enc)
 	else
 	  "&#x#{$1};"
 	end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]