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

ruby-reference-manual:2150

From: Kouhei Sutou <kou@c...>
Date: Thu, 22 Apr 2010 22:07:54 +0900 (JST)
Subject: [ruby-reference-manual:2150] fopenがencodingオプションを捨てる

須藤です。

bitclust/lib/compat.rbのfopenが常にFile.openのencoding指定を
捨ててしまうので、1.9.1で動かすと

  lib/bitclust/database.rb:136:in `strip': invalid byte sequence in UTF-8 (ArgumentError)

になってしまいます。

Index: lib/bitclust/compat.rb
===================================================================
--- lib/bitclust/compat.rb	(リビジョン 4061)
+++ lib/bitclust/compat.rb	(作業コピー)
@@ -31,10 +31,12 @@
 end
 
 def fopen(*args, &block)
-  begin
-    v = args[1].to_str
-    args[1] = v[0, v.index(':')]
-  rescue
+  unless "".respond_to?(:encoding)
+    begin
+      v = args[1].to_str
+      args[1] = v[0, v.index(':')]
+    rescue
+    end
   end
   File.open(*args, &block)
 end


こういうのはチケットにした方がよいでしょうか?
できれば、↑のように小さいのは直接コミットしてしまいたかった
りするのですが。。。



--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

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

->    2150 2010-04-22 15:07 [kou@c...            ] fopenがencodingオプションを捨てる       
      2151 2010-04-22 15:13 ┗[okkez000@g...       ]                                       
      2152 2010-04-22 15:17  ┗[kou@c...            ]