From a63d5c3c9f0f5e4e71fc32566f16a4cb3aee6ee0 Mon Sep 17 00:00:00 2001 From: steve Date: Fri, 11 Oct 1996 03:55:29 +0000 Subject: Reinstate '!=' fix by Bruce Evans. The original commit message from parse.c(1.9) was: revision 1.9 date: 1996/09/12 03:03:25; author: bde; state: Exp; lines: +7 -6 Fixed handling of `!=' assignment. Don't warn if the shell's output is null, but warn if there was an error reading it. Suggested by: Bruce Evans --- usr.bin/make/main.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'usr.bin/make/main.c') diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index c9e5eb0..474bd1b 100644 --- a/usr.bin/make/main.c +++ b/usr.bin/make/main.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: main.c,v 1.12 1996/10/08 04:06:00 steve Exp $ */ #ifndef lint @@ -485,7 +485,7 @@ main(argc, argv) * Note that while MACHINE is decided at run-time, * MACHINE_ARCH is always known at compile time. */ - if (!machine) { + if (!machine) { #ifndef MACHINE struct utsname utsname; @@ -965,12 +965,18 @@ Cmd_Exec(cmd, err) while(((pid = wait(&status)) != cpid) && (pid >= 0)) continue; + if (cc == -1) { + /* + * Couldn't read all of the child's output -- tell the user + * but still use whatever we read. Null output isn't an + * error unless there was an error reading it. + */ + Parse_Error(PARSE_WARNING, "Couldn't read shell's output"); + } + res = (char *)Buf_GetAll (buf, &cc); Buf_Destroy (buf, FALSE); - if (cc == 0) - *err = "Couldn't read shell's output for \"%s\""; - if (status) *err = "\"%s\" returned non-zero status"; -- cgit v1.1