for.c (302408) | for.c (319884) |
---|---|
1/* $NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $ */ | 1/* $NetBSD: for.c,v 1.53 2017/04/16 21:04:44 riastradh Exp $ */ |
2 3/* 4 * Copyright (c) 1992, The Regents of the University of California. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: --- 15 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#ifndef MAKE_NATIVE | 2 3/* 4 * Copyright (c) 1992, The Regents of the University of California. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: --- 15 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#ifndef MAKE_NATIVE |
33static char rcsid[] = "$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"; | 33static char rcsid[] = "$NetBSD: for.c,v 1.53 2017/04/16 21:04:44 riastradh Exp $"; |
34#else 35#include <sys/cdefs.h> 36#ifndef lint 37#if 0 38static char sccsid[] = "@(#)for.c 8.1 (Berkeley) 6/6/93"; 39#else | 34#else 35#include <sys/cdefs.h> 36#ifndef lint 37#if 0 38static char sccsid[] = "@(#)for.c 8.1 (Berkeley) 6/6/93"; 39#else |
40__RCSID("$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"); | 40__RCSID("$NetBSD: for.c,v 1.53 2017/04/16 21:04:44 riastradh Exp $"); |
41#endif 42#endif /* not lint */ 43#endif 44 45/*- 46 * for.c -- 47 * Functions to handle loops in a makefile. 48 * --- 373 unchanged lines hidden (view full) --- 422 */ 423 424 cmd_cp = Buf_GetAll(&arg->buf, &len); 425 body_end = cmd_cp + len; 426 Buf_Init(&cmds, len + 256); 427 for (cp = cmd_cp; (cp = strchr(cp, '$')) != NULL;) { 428 char ech; 429 ch = *++cp; | 41#endif 42#endif /* not lint */ 43#endif 44 45/*- 46 * for.c -- 47 * Functions to handle loops in a makefile. 48 * --- 373 unchanged lines hidden (view full) --- 422 */ 423 424 cmd_cp = Buf_GetAll(&arg->buf, &len); 425 body_end = cmd_cp + len; 426 Buf_Init(&cmds, len + 256); 427 for (cp = cmd_cp; (cp = strchr(cp, '$')) != NULL;) { 428 char ech; 429 ch = *++cp; |
430 if ((ch == '(' && (ech = ')')) || (ch == '{' && (ech = '}'))) { | 430 if ((ch == '(' && (ech = ')', 1)) || (ch == '{' && (ech = '}', 1))) { |
431 cp++; 432 /* Check variable name against the .for loop variables */ 433 STRLIST_FOREACH(var, &arg->vars, i) { 434 len = strlist_info(&arg->vars, i); 435 if (memcmp(cp, var, len) != 0) 436 continue; 437 if (cp[len] != ':' && cp[len] != ech && cp[len] != '\\') 438 continue; --- 58 unchanged lines hidden --- | 431 cp++; 432 /* Check variable name against the .for loop variables */ 433 STRLIST_FOREACH(var, &arg->vars, i) { 434 len = strlist_info(&arg->vars, i); 435 if (memcmp(cp, var, len) != 0) 436 continue; 437 if (cp[len] != ':' && cp[len] != ech && cp[len] != '\\') 438 continue; --- 58 unchanged lines hidden --- |