зеркало из https://github.com/github/ruby.git
file.c: set errno
* file.c (ruby_is_fd_loadable): set proper errno. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
d5cb997f18
Коммит
d6379666ca
3
file.c
3
file.c
|
@ -5683,9 +5683,10 @@ ruby_is_fd_loadable(int fd)
|
||||||
|
|
||||||
if (S_ISREG(st.st_mode))
|
if (S_ISREG(st.st_mode))
|
||||||
return 1;
|
return 1;
|
||||||
if (S_ISFIFO(st.st_mode))
|
if (!S_ISDIR(st.st_mode))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
errno = EISDIR;
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
3
ruby.c
3
ruby.c
|
@ -1803,8 +1803,9 @@ open_load_file(VALUE fname_v, int *xflag)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!ruby_is_fd_loadable(fd)) {
|
if (!ruby_is_fd_loadable(fd)) {
|
||||||
|
int e = errno;
|
||||||
(void)close(fd);
|
(void)close(fd);
|
||||||
rb_load_fail(fname_v, strerror(errno));
|
rb_load_fail(fname_v, strerror(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
f = rb_io_fdopen(fd, mode, fname);
|
f = rb_io_fdopen(fd, mode, fname);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче