X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fdup2.c;h=a4422bf3b8c3aed35e4f5bdf2cf734e0a1ce6056;hb=e8269e90e35140ebb75f39669d39bd021e364105;hp=7ce49a2b7be44448dc910b9ced7a8957facf8522;hpb=21a0a9e3ef07b457b04d483f8dd216bbdf06e860;p=gnulib.git diff --git a/lib/dup2.c b/lib/dup2.c index 7ce49a2b7..a4422bf3b 100644 --- a/lib/dup2.c +++ b/lib/dup2.c @@ -1,7 +1,6 @@ /* Duplicate an open file descriptor to a specified file descriptor. - Copyright (C) 1999, 2004, 2005, 2006, 2007, 2009 Free Software - Foundation, Inc. + Copyright (C) 1999, 2004-2007, 2009-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -53,6 +52,13 @@ rpl_dup2 (int fd, int desired_fd) } return fd; } + /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: + http://bugs.winehq.org/show_bug.cgi?id=21289 */ + if (desired_fd < 0) + { + errno = EBADF; + return -1; + } # endif result = dup2 (fd, desired_fd); # ifdef __linux__