Bug #2958

Re: [ruby-cvs:34124] Ruby:r26909 (trunk): * file.c (file_expand_path): should not just copy the encoding

Added by Usaku NAKAMURA almost 2 years ago. Updated 10 months ago.

[ruby-dev:40629]
Status:Closed Start date:
Priority:Low Due date:
Assignee:- % Done:

100%

Category:-
Target version:-
ruby -v:

Description

こんにちは、なかむら(う)です。

In message "[ruby-cvs:34124] Ruby:r26909 (trunk): * file.c (file_expand_path): should not just copy the encoding"
    on Mar.13,2010 23:50:30, <matz@ruby-lang.org> wrote:
> matz	2010-03-13 23:50:26 +0900 (Sat, 13 Mar 2010)
> 
>   New Revision: 26909
> 
>   http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26909
> 
>   Log:
>     * file.c (file_expand_path): should not just copy the encoding
>       from fname.  [ruby-core:28635]
>     
>     * file.c (EXPAND_PATH_BUFFER): set filesystem_encoding, not
>       usascii for path buffer.

encoding libraryのロード前に使われうる処理の中でfilesystem_encoding
を使うと、filesystem_encodingが非組み込みencodingである場合、

  encodingをロードなくちゃいけないな
    ↓
  encoding libraryのパス名を決定しよう
    ↓
  パス名にencodingを付与しないといけないな
    ↓
  filesystem encodingはまだロードされてないや
    ↓
  振り出しに戻る

が無限に繰り返されて死にます。
(つまり何もできない)


# パッチを作る気力は今はないので報告だけ


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>

Associated revisions

Revision 26913
Added by Yukihiro Matsumoto almost 2 years ago

* file.c (EXPAND_PATH_BUFFER): make it back to usascii, to prevent infinite loop on some platform. [ruby-dev:40629]

History

Updated by Yukihiro Matsumoto almost 2 years ago

まつもと ゆきひろです

In message "Re: [ruby-dev:40629] [bug:trunk] Re: [ruby-cvs:34124] Ruby:r26909 (trunk): * file.c (file_expand_path): should not just copy the encoding"
    on Sun, 14 Mar 2010 01:22:28 +0900, "U.Nakamura" <usa@garbagecollect.jp> writes:

|>     * file.c (EXPAND_PATH_BUFFER): set filesystem_encoding, not
|>       usascii for path buffer.
|
|encoding libraryのロード前に使われうる処理の中でfilesystem_encoding
|を使うと、filesystem_encodingが非組み込みencodingである場合、
|
|  encodingをロードなくちゃいけないな
|    ↓
|  encoding libraryのパス名を決定しよう
|    ↓
|  パス名にencodingを付与しないといけないな
|    ↓
|  filesystem encodingはまだロードされてないや
|    ↓
|  振り出しに戻る
|
|が無限に繰り返されて死にます。
|(つまり何もできない)

なるほど。プラットフォームによっては問題が起きそうだと思った
のですが、やっぱりそうだったのですね。この部分は戻しておきま
す。

Updated by Yukihiro Matsumoto almost 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r26913.
Usaku, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF