From: Yukihiro Matsumoto Date: 2010-04-09T20:21:31+09:00 Subject: [ruby-dev:40942] Re: [Bug:trunk] Dir.[] returns unmatched path まつもと ゆきひろです In message "Re: [ruby-dev:40939] Re: [Bug:trunk] Dir.[] returns unmatched path" on Fri, 9 Apr 2010 19:08:26 +0900, Masaya TARUI writes: |元をたどればpush_glob関数内でRSTRING_PTR(str)を渡しているのに、 |strがGCでmarkされずに回収されるためなので、 | |以下のpatch(IRCで教えてもらったpatchですが)で直る事を確認しました。 ありがとうございます。些細な改善と言えば RB_GC_GUARD を先にお いておけば、ret に戻り値を保存する必要はないように思います。 つまり RB_GC_GUARD(str); return ruby_brace_glob0(RSTRING_PTR(str), flags | GLOB_VERBOSE, rb_glob_caller, (VALUE)&args, enc); ということ。