diff options
author | Eli Zaretskii <eliz@gnu.org> | 2009-03-07 17:30:30 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2009-03-07 17:30:30 +0000 |
commit | 656b15a40423a90ca74e3f29ea206e9bae4da5e5 (patch) | |
tree | fe346107b036319b11979f64782606dcd244973a /function.c | |
parent | f8f3b9005b47c821f35275c3fefd228f76a59301 (diff) | |
download | gunmake-656b15a40423a90ca74e3f29ea206e9bae4da5e5.tar.gz |
* function.c (func_shell): Don't close pipedes[1] if it is -1.
Fixes Savannah bug #20495.
Diffstat (limited to 'function.c')
-rw-r--r-- | function.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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. */ |