[#11952] NORETURN — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

24 messages 2001/01/10
[#11956] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11957] Re: NORETURN — matz@... (Yukihiro Matsumoto) 2001/01/10

まつもと ゆきひろです

[#11958] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11959] CVS branches (Re: Re: NORETURN) — matz@... (Yukihiro Matsumoto) 2001/01/10

[#12087] string#index, gsub, []= のバグ? — Beyond <beyond@...>

18 messages 2001/01/27
[#12091] Re: string#index, gsub, []= のバグ? — matz@... (Yukihiro Matsumoto) 2001/01/27

まつもと ゆきひろです

[ruby-dev:12000] [PATCH] error message of File.symlink()

From: OHSHIMA Ryunosuke <ryu@...>
Date: 2001-01-12 13:50:37 UTC
List: ruby-dev #12000
大島です。

File.symlink() で発生するエラーのメッセージが不適当だと思います。

例えば、ファイル "new" が既に存在する状態で、 "old" へのシンボリック
リンクを "new" として作成しようとすると、以下のようなエラーが発生し
ます。

% ruby -v -e 'File.symlink("old", "new")'
ruby 1.6.2 (2000-12-25) [mips-irix6.5]
-e:1:in `symlink': File exists - "old" (Errno::EEXIST)
        from -e:1

symlink(2) では、 "old" ではなく "new" が原因のエラーが大多数だと思
われますので、少なくとも以下のように変更した方が良いと思います。


--- ruby-1.6.2/file.c.orig	Fri Jan 12 22:23:21 2001
+++ ruby-1.6.2/file.c	Fri Jan 12 22:23:41 2001
@@ -1117,7 +1117,7 @@
     Check_SafeStr(to);
 
     if (symlink(RSTRING(from)->ptr, RSTRING(to)->ptr) < 0)
-	rb_sys_fail(RSTRING(from)->ptr);
+	rb_sys_fail(RSTRING(to)->ptr);
     return INT2FIX(0);
 #else
     rb_notimplement();


より正確には、ちゃんとエラーの原因を調べて、 File.link() ともどもよ
り良いメッセージに修正した方が良いのでしょうが、具体的にどうするべき
かまでは、ちょっとわかりません。

大島 龍之介	ryu@jaist.ac.jp

In This Thread

Prev Next