From af1dc41320b03ca509c310eea2973c10772d70fd Mon Sep 17 00:00:00 2001 From: eliz Date: Sat, 7 Mar 2009 17:30:30 +0000 Subject: [PATCH] * function.c (func_shell): Don't close pipedes[1] if it is -1. Fixes Savannah bug #20495. --- ChangeLog | 5 +++++ function.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index d923a80..030a91f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-03-07 Eli Zaretskii + + * function.c (func_shell): Don't close pipedes[1] if it is -1. + Fixes Savannah bug #20495. + 2008-09-30 Eli Zaretskii * build_w32.bat (GCCBuild): Use "-gdwarf-2 -g3" instead of diff --git a/function.c b/function.c index 09edbad..10d3d6b 100644 --- a/function.c +++ b/function.c @@ -1687,8 +1687,11 @@ func_shell (char *o, char **argv, const char *funcname UNUSED) free (command_argv[0]); free (command_argv); - /* Close the write side of the pipe. */ - close (pipedes[1]); + /* Close the write side of the pipe. We test for -1, since + pipedes[1] is -1 on MS-Windows, and some versions of MS + libraries barf when `close' is called with -1. */ + if (pipedes[1] >= 0) + close (pipedes[1]); #endif /* Set up and read from the pipe. */ -- 2.11.4.GIT