From 4f47fbf953faae5d38bdc4e709aa8872e3914418 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Mon, 14 Nov 2011 07:31:06 +0000 Subject: Be sure to start parsing prereqs in the right place even if there are escape characters (backslashes) in the target name. See Savannah bug #33399 --- read.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'read.c') diff --git a/read.c b/read.c index 451f395..c0a6fae 100644 --- a/read.c +++ b/read.c @@ -1016,16 +1016,17 @@ eval (struct ebuffer *ebuf, int set_default) /* There's no need to be ivory-tower about this: check for one of the most common bugs found in makefiles... */ fatal (fstart, _("missing separator%s"), - (cmd_prefix == '\t' && !strneq(line, " ", 8)) + (cmd_prefix == '\t' && !strneq (line, " ", 8)) ? "" : _(" (did you mean TAB instead of 8 spaces?)")); continue; } /* Make the colon the end-of-string so we know where to stop - looking for targets. */ + looking for targets. Start there again once we're done. */ *colonp = '\0'; filenames = PARSE_FILE_SEQ (&p2, struct nameseq, '\0', NULL, 0); - *p2 = ':'; + *colonp = ':'; + p2 = colonp; if (!filenames) { -- cgit v1.2.3