svn commit: r254194 - in head: contrib/bmake usr.bin/bmake

Simon J. Gerraty sjg at FreeBSD.org
Sat Aug 10 21:31:36 UTC 2013


Author: sjg
Date: Sat Aug 10 21:31:35 2013
New Revision: 254194
URL: http://svnweb.freebsd.org/changeset/base/254194

Log:
  ParseGetLine: don't treat a zero byte as end of buffer if P_end says it isn't.
  Consume up to next newline, and issue a parse warning.
  If no newline found before P_end, carry on as before.

Modified:
  head/contrib/bmake/parse.c
  head/usr.bin/bmake/Makefile

Modified: head/contrib/bmake/parse.c
==============================================================================
--- head/contrib/bmake/parse.c	Sat Aug 10 21:13:18 2013	(r254193)
+++ head/contrib/bmake/parse.c	Sat Aug 10 21:31:35 2013	(r254194)
@@ -2582,6 +2582,16 @@ ParseGetLine(int flags, int *length)
 		if (cf->P_end == NULL)
 		    /* End of string (aka for loop) data */
 		    break;
+		/* see if there is more we can parse */
+		while (ptr++ < cf->P_end) {
+		    if ((ch = *ptr) == '\n') {
+			if (ptr > line && ptr[-1] == '\\')
+			    continue;
+			Parse_Error(PARSE_WARNING,
+			    "Zero byte read from file, skipping rest of line.");
+			break;
+		    }
+		}
 		if (cf->nextbuf != NULL) {
 		    /*
 		     * End of this buffer; return EOF and outer logic

Modified: head/usr.bin/bmake/Makefile
==============================================================================
--- head/usr.bin/bmake/Makefile	Sat Aug 10 21:13:18 2013	(r254193)
+++ head/usr.bin/bmake/Makefile	Sat Aug 10 21:31:35 2013	(r254194)
@@ -17,7 +17,7 @@ CLEANFILES+= bootstrap
 #	$Id: Makefile,v 1.17 2013/07/30 19:13:53 sjg Exp $
 
 # Base version on src date
-MAKE_VERSION= 20130730
+MAKE_VERSION= 20130810
 
 PROG?=	${.CURDIR:T}
 


More information about the svn-src-all mailing list