From 225d2af65ad3b05e74b31376bc929238ddede719 Mon Sep 17 00:00:00 2001 From: xibbar Date: Mon, 20 Oct 2008 12:29:29 +0000 Subject: * lib/cgi/core.rb (read_multipart): file's encoding is ascii-8bit from file field of multipart form. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/cgi/core.rb | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index d5f0743b1a..ef3d53235e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 20 21:19:00 2008 Takeyuki FUJIOKA + + * lib/cgi/core.rb (read_multipart): file's encoding is ascii-8bit + from file field of multipart form. + Mon Oct 20 20:16:25 2008 Yukihiro Matsumoto * ext/zlib/zlib.c (Init_zlib): add getbyte as an alias to getc. diff --git a/lib/cgi/core.rb b/lib/cgi/core.rb index f2bbb0a619..3a934c928b 100644 --- a/lib/cgi/core.rb +++ b/lib/cgi/core.rb @@ -495,14 +495,14 @@ class CGI def create_body(is_large) #:nodoc: if is_large require 'tempfile' - body = Tempfile.new('CGI') + body = Tempfile.new('CGI', encoding: "ascii-8bit") else begin require 'stringio' - body = StringIO.new + body = StringIO.new("".force_encoding("ascii-8bit")) rescue LoadError require 'tempfile' - body = Tempfile.new('CGI') + body = Tempfile.new('CGI', encoding: "ascii-8bit") end end body.binmode if defined? body.binmode @@ -568,7 +568,7 @@ class CGI read_from_cmdline end.dup.force_encoding(@accept_charset) ) - unless @accept_charset=="ASCII-8BIT" || @accept_charset==Encoding::ASCII_8BIT + unless @accept_charset=~/ASCII-8BIT/i || @accept_charset==Encoding::ASCII_8BIT @params.each do |key,values| values.each do |value| unless value.valid_encoding? @@ -603,9 +603,9 @@ class CGI if value return value elsif defined? StringIO - StringIO.new("") + StringIO.new("".force_encoding("ascii-8bit")) else - Tempfile.new("CGI") + Tempfile.new("CGI",encoding:"ascii-8bit") end else str = if value then value.dup else "" end -- cgit v1.2.3