From f6d77bf56082a9d0b21301384daf8ce9cbfccd4c Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 12 Sep 2015 10:09:03 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ win32/win32.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 + + * 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 * 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 */