diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-26 04:51:27 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-26 04:51:27 +0000 |
commit | 7a0d81eaa25edf97a413c85e5560a05a30aaa5ad (patch) | |
tree | 9520df31852c0e6a55cd316c26cb25e7ca7e14e1 /ruby.c | |
parent | 06fba52338e439fdaca5ddf0b35947259aaa7a1c (diff) | |
download | ruby-7a0d81eaa25edf97a413c85e5560a05a30aaa5ad.tar.gz |
* win32/win32.c (check_if_dir, check_if_wdir): fix for Visual C++
not to use S_ISDIR(). [Feature #2408][ruby-core:26925]
* ruby.c (load_file_internal): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1524,19 +1524,20 @@ load_file_internal(VALUE arg) } #endif if ((fd = rb_cloexec_open(fname, mode, 0)) < 0) { - load_failed: rb_load_fail(fname_v, strerror(errno)); } rb_update_max_fd(fd); +#if !defined DOSISH && !defined __CYGWIN__ { struct stat st; - if (fstat(fd, &st) != 0) goto load_failed; + if (fstat(fd, &st) != 0) + rb_load_fail(fname_v, strerror(errno)); if (S_ISDIR(st.st_mode)) { errno = EISDIR; - goto load_failed; + rb_load_fail(fname_v, strerror(EISDIR)); } } - +#endif f = rb_io_fdopen(fd, mode, fname); } |