From 538cd60bda6eb70bd7a6079d4ba3a9e0381c8c20 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Fri, 9 Feb 2007 01:52:59 +0000 Subject: [PATCH] * Improved win32 pipes. --- src/zzuf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/zzuf.c b/src/zzuf.c index 9e95c13..5132897 100644 --- a/src/zzuf.c +++ b/src/zzuf.c @@ -934,12 +934,13 @@ static int run_process(struct opts *opts, int fd[][2]) memset(&sinfo, 0, sizeof(sinfo)); sinfo.cb = sizeof(sinfo); - DuplicateHandle(pid, (HANDLE)_get_osfhandle(fd[j][0]), pid, + DuplicateHandle(pid, (HANDLE)_get_osfhandle(fd[0][1]), pid, /* FIXME */ &sinfo.hStdInput, 0, TRUE, DUPLICATE_SAME_ACCESS); - DuplicateHandle(pid, (HANDLE)_get_osfhandle(fd[j][1]), pid, + DuplicateHandle(pid, (HANDLE)_get_osfhandle(fd[1][1]), pid, &sinfo.hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS); - DuplicateHandle(pid, (HANDLE)_get_osfhandle(fd[j][2]), pid, + DuplicateHandle(pid, (HANDLE)_get_osfhandle(fd[2][1]), pid, &sinfo.hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS); + sinfo.dwFlags = STARTF_USESTDHANDLES; ret = CreateProcess(NULL, opts->newargv[0], NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &sinfo, &pinfo); if(!ret)