Module: wine Branch: master Commit: 828fd598b0a9eb94924a0902342fb26c6b2d51c8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=828fd598b0a9eb94924a090234...
Author: Borut Razem borut.razem@siol.net Date: Mon Nov 15 22:50:23 2010 +0100
msvcrt: popen: stderr from the child process should not be redirected to the parent's stdin.
---
dlls/msvcrt/process.c | 15 +-------------- 1 files changed, 1 insertions(+), 14 deletions(-)
diff --git a/dlls/msvcrt/process.c b/dlls/msvcrt/process.c index b4c39c1..3e2e15e 100644 --- a/dlls/msvcrt/process.c +++ b/dlls/msvcrt/process.c @@ -1031,7 +1031,7 @@ MSVCRT_FILE* CDECL MSVCRT__wpopen(const MSVCRT_wchar_t* command, const MSVCRT_wc { MSVCRT_FILE *ret; BOOL readPipe = TRUE; - int textmode, fds[2], fdToDup, fdToOpen, fdStdHandle = -1, fdStdErr = -1; + int textmode, fds[2], fdToDup, fdToOpen, fdStdHandle = -1; const MSVCRT_wchar_t *p; MSVCRT_wchar_t *comspec, *fullcmd; unsigned int len; @@ -1073,13 +1073,6 @@ MSVCRT_FILE* CDECL MSVCRT__wpopen(const MSVCRT_wchar_t* command, const MSVCRT_wc goto error; if (MSVCRT__dup2(fds[fdToDup], fdToDup) != 0) goto error; - if (readPipe) - { - if ((fdStdErr = MSVCRT__dup(MSVCRT_STDERR_FILENO)) == -1) - goto error; - if (MSVCRT__dup2(fds[fdToDup], MSVCRT_STDERR_FILENO) != 0) - goto error; - }
MSVCRT__close(fds[fdToDup]);
@@ -1106,16 +1099,10 @@ MSVCRT_FILE* CDECL MSVCRT__wpopen(const MSVCRT_wchar_t* command, const MSVCRT_wc HeapFree(GetProcessHeap(), 0, fullcmd); MSVCRT__dup2(fdStdHandle, fdToDup); MSVCRT__close(fdStdHandle); - if (readPipe) - { - MSVCRT__dup2(fdStdErr, MSVCRT_STDERR_FILENO); - MSVCRT__close(fdStdErr); - } return ret;
error: if (fdStdHandle != -1) MSVCRT__close(fdStdHandle); - if (fdStdErr != -1) MSVCRT__close(fdStdErr); MSVCRT__close(fds[0]); MSVCRT__close(fds[1]); return NULL;