Module Name: src Committed By: rillig Date: Sat Jan 8 21:28:59 UTC 2022
Modified Files: src/usr.bin/make: parse.c Log Message: make: return early from SkipIrrelevantBranches No functional change. To generate a diff of this commit: cvs rdiff -u -r1.639 -r1.640 src/usr.bin/make/parse.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.639 src/usr.bin/make/parse.c:1.640 --- src/usr.bin/make/parse.c:1.639 Sat Jan 8 20:21:34 2022 +++ src/usr.bin/make/parse.c Sat Jan 8 21:28:59 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.639 2022/01/08 20:21:34 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.640 2022/01/08 21:28:59 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -106,7 +106,7 @@ #include "pathnames.h" /* "@(#)parse.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: parse.c,v 1.639 2022/01/08 20:21:34 rillig Exp $"); +MAKE_RCSID("$NetBSD: parse.c,v 1.640 2022/01/08 21:28:59 rillig Exp $"); /* * A file being read. @@ -2428,7 +2428,10 @@ typedef enum LineKind { LK_DOT } LineKind; -/* Return the next "interesting" logical line from the current file. */ +/* + * Return the next "interesting" logical line from the current file. The + * returned string will be freed at the end of including the file. + */ static char * ReadLowLevelLine(LineKind kind) { @@ -2475,27 +2478,26 @@ ReadLowLevelLine(LineKind kind) static bool SkipIrrelevantBranches(void) { - char *line; + const char *line; while ((line = ReadLowLevelLine(LK_DOT)) != NULL) { if (Cond_EvalLine(line) == CR_TRUE) - break; + return true; /* - * TODO: Check for typos in .elif directives - * such as .elsif or .elseif. + * TODO: Check for typos in .elif directives such as .elsif + * or .elseif. * - * This check will probably duplicate some of - * the code in ParseLine. Most of the code - * there cannot apply, only ParseVarassign and - * ParseDependencyLine can, and to prevent code - * duplication, these would need to be called - * with a flag called onlyCheckSyntax. + * This check will probably duplicate some of the code in + * ParseLine. Most of the code there cannot apply, only + * ParseVarassign and ParseDependencyLine can, and to prevent + * code duplication, these would need to be called with a + * flag called onlyCheckSyntax. * * See directive-elif.mk for details. */ } - return line != NULL; + return false; } static bool