[#39548] [Bug #2291] Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる — Akira Matsuda <redmine@...>

Bug #2291: Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる

10 messages 2009/10/27

[#39592] infinite recursive call to C function — Yusuke ENDOH <mame@...>

遠藤です。

17 messages 2009/10/30
[#39596] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/10/30

まつもと ゆきひろです

[#39599] Re: infinite recursive call to C function — Nobuyoshi Nakada <nobu@...> 2009/11/02

なかだです。

[#39601] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[ruby-dev:39479] 一度IO::reopenしたファイルに対して同一ファイルでIO::reopenしたときの挙動について

From: takkanm@...
Date: 2009-10-13 13:32:14 UTC
List: ruby-dev #39479
ミムラ aka takkanm です。

rubyspec(./core/io/reopen_spec.rb +114)で落ちている IO::reopen の挙動が
意図しているものかがわからないので、質問させてください。

1.8 と 1.9 で、一度IO::reopenしたファイルに対して、同一ファイルで
IO::reopenしたときの挙動が異なるのですが、これは意図したものでしょうか?

1.8 で再reopenした後 gets を行なうと先頭行が読みこまれるのですが、
1.9 では nil が返ってきます。

% cat file1.txt
line 1
line 2
line 3
line 4
% cat file2.txt
Line 1
Line 2
Line 3
Line 4
% ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9]
% irb
irb(main):001:0> RUBY_VERSION
=> "1.8.7"
irb(main):002:0> f1 = File.open "file1.txt"
=> #<File:file1.txt>
irb(main):003:0> f2 = File.open "file2.txt"
=> #<File:file2.txt>
irb(main):004:0> f1.reopen f2
=> #<File:file2.txt>
irb(main):005:0> f1.gets
=> "Line 1\n"
irb(main):006:0> f1.gets
=> "Line 2\n"
irb(main):007:0> f1.reopen(f2).gets
=> "Line 1\n"
irb(main):008:0> quit

% rvm use 1.9.2 --rev head
% ruby -v
ruby 1.9.2dev (2009-10-06 trunk 25243) [i386-darwin9.8.0]
% irb
ruby-1.9.2-head > RUBY_VERSION
 => "1.9.2"
ruby-1.9.2-head > f1 = File.open "file1.txt"
 => #<File:file1.txt>
ruby-1.9.2-head > f2 = File.open "file2.txt"
 => #<File:file2.txt>
ruby-1.9.2-head > f1.reopen f2
 => #<File:file2.txt>
ruby-1.9.2-head > f1.gets
 => "Line 1\n"
ruby-1.9.2-head > f1.gets
 => "Line 2\n"
ruby-1.9.2-head > f1.reopen(f2).gets
 => nil

以上、よろしくお願いいたします。

In This Thread

Prev Next