From 656b15a40423a90ca74e3f29ea206e9bae4da5e5 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 7 Mar 2009 17:30:30 +0000 Subject: * function.c (func_shell): Don't close pipedes[1] if it is -1. Fixes Savannah bug #20495. --- function.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'function.c') 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. */ -- cgit v1.2.3