summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2011-07-29 13:39:00 +0000
committerespie <espie@openbsd.org>2011-07-29 13:39:00 +0000
commitac8de1ed9b2e39498181a0daf03ef977b3abddf0 (patch)
tree336bf7d1fccdadada839672c77b13ebcdc7d0ea6
parentdocument vi/ex regular expressions, and where they differ from those (diff)
downloadwireguard-openbsd-ac8de1ed9b2e39498181a0daf03ef977b3abddf0.tar.xz
wireguard-openbsd-ac8de1ed9b2e39498181a0daf03ef977b3abddf0.zip
systemV trumps our modifiers.
fixes a case encountered by jeremy@ full fix not prudent at this time. okay millert@, otto@
-rw-r--r--usr.bin/make/varmodifiers.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/make/varmodifiers.c b/usr.bin/make/varmodifiers.c
index a22ebcc9df4..d7cb2c6ebd7 100644
--- a/usr.bin/make/varmodifiers.c
+++ b/usr.bin/make/varmodifiers.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: varmodifiers.c,v 1.27 2010/07/19 19:46:44 espie Exp $ */
+/* $OpenBSD: varmodifiers.c,v 1.28 2011/07/29 13:39:00 espie Exp $ */
/* $NetBSD: var.c,v 1.18 1997/03/18 19:24:46 christos Exp $ */
/*
@@ -629,7 +629,8 @@ get_sysvpattern(const char **p, SymTable *ctxt UNUSED, bool err, int endc)
}
Buf_Init(&buf, 0);
for (cp2 = cp+1;; cp2++) {
- if ((*cp2 == ':' || *cp2 == endc) && cnt == 0)
+ if (((*cp2 == ':' && cp2[1] != endc) || *cp2 == endc) &&
+ cnt == 0)
break;
if (*cp2 == '\0') {
Buf_Destroy(&buf);