aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-12 10:09:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-12 10:09:03 +0000
commitf6d77bf56082a9d0b21301384daf8ce9cbfccd4c (patch)
tree978e428f08df5e54f590f5c278e5fba915d8ee31
parent777c719450311f27d1cf67ef0afc60c953cefe9d (diff)
downloadruby-f6d77bf56082a9d0b21301384daf8ce9cbfccd4c.tar.gz
win32.c: fix dup2 return value
* win32/win32.c (rb_w32_dup2): should return the new fd on success, while msvcrt returns 0 wrongly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b2fdfbacc..2516b5e939 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Sep 12 19:08:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/win32.c (rb_w32_dup2): should return the new fd on
+ success, while msvcrt returns 0 wrongly.
+
Sat Sep 12 18:14:11 2015 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/ftp.rb (parse_mlsx_entry, mlst) raise an FTPProtoError
diff --git a/win32/win32.c b/win32/win32.c
index 11292a16cc..32e77c01e4 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -5934,8 +5934,9 @@ rb_w32_dup2(int oldfd, int newfd)
if (oldfd == newfd) return newfd;
ret = dup2(oldfd, newfd);
+ if (ret < 0) return ret;
set_new_std_fd(newfd);
- return ret;
+ return newfd;
}
/* License: Ruby's */