Project

General

Profile

Actions

Bug #1614

closed

startup failure with non-ascii path

Added by nobu (Nobuyoshi Nakada) almost 15 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 1.9.2dev (2009-06-12) [i386-mswin32_90]
Backport:
[ruby-dev:38594]

Description

=begin
なかだです。

http://d.hatena.ne.jp/mirichi/20090611/p1 のように、実行ファイル
のパスにnon-ascii文字が含まれているとencdbのロードの際に失敗して
起動できません。

$ q=あ
$ mkdir $q
$ ln libruby.1.9.1.* ruby $q
$ DYLD_LIBRARY_PATH="$q" $q/ruby
internal:prelude:3:in require': incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError) from <internal:prelude>:3:in block in '
from internal:prelude:1:in each' from <internal:prelude>:1:in '

file_expand_path()で絶対パスをコピーするときにencodingをコピーし
ていないようです。


Index: file.c

--- file.c (revision 23669)
+++ file.c (working copy)
@@ -2794,4 +2794,5 @@ file_expand_path(VALUE fname, VALUE dnam
BUFCHECK(bdiff >= buflen);
memset(buf, '/', p - buf);

  • rb_enc_copy(result, fname);
    }
    if (p > buf && p[-1] == '/')

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0