小松です。

In the message of [ruby-dev:8520] Re: mode_t in file.c
    on 1999/12/3 20:49:25 matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> (1)でいきましょう。変更します。

なるほど、そういう手ですか。
すると、もう一個残っているmode_tはこんな感じでしょうか?

--
小松克行 / Katsuyuki Komatsu <komatsu / sarion.co.jp>

--- file.c.dist Mon Dec 6 18:03:51 1999 +++ file.c Tue Dec 7 09:57:33 1999 @@ -732,33 +732,33 @@ rb_file_s_size(obj, fname) static VALUE -rb_file_ftype(mode) - mode_t mode; +rb_file_ftype(st) + struct stat *st; { char *t; - if (S_ISREG(mode)) { + if (S_ISREG(st->st_mode)) { t = "file"; - } else if (S_ISDIR(mode)) { + } else if (S_ISDIR(st->st_mode)) { t = "directory"; - } else if (S_ISCHR(mode)) { + } else if (S_ISCHR(st->st_mode)) { t = "characterSpecial"; } #ifdef S_ISBLK - else if (S_ISBLK(mode)) { + else if (S_ISBLK(st->st_mode)) { t = "blockSpecial"; } #endif #ifdef S_ISFIFO - else if (S_ISFIFO(mode)) { + else if (S_ISFIFO(st->st_mode)) { t = "fifo"; } #endif #ifdef S_ISLNK - else if (S_ISLNK(mode)) { + else if (S_ISLNK(st->st_mode)) { t = "link"; } #endif #ifdef S_ISSOCK - else if (S_ISSOCK(mode)) { + else if (S_ISSOCK(st->st_mode)) { t = "socket"; } @@ -787,5 +787,5 @@ rb_file_s_ftype(obj, fname) #endif - return rb_file_ftype(st.st_mode); + return rb_file_ftype(&st); } @@ -1671,5 +1671,5 @@ rb_stat_ftype(obj) VALUE obj; { - return rb_file_ftype(get_stat(obj)->st_mode); + return rb_file_ftype(get_stat(obj)); }