svn commit: r317274 - in head/contrib/bmake: . unit-tests
Simon J. Gerraty
sjg at FreeBSD.org
Fri Apr 21 22:19:15 UTC 2017
Author: sjg
Date: Fri Apr 21 22:19:13 2017
New Revision: 317274
URL: https://svnweb.freebsd.org/changeset/base/317274
Log:
Str_Match: fix closure tests for [^] and add unit-test.
Modified:
head/contrib/bmake/str.c
head/contrib/bmake/unit-tests/modmatch.exp
head/contrib/bmake/unit-tests/modmatch.mk
Modified: head/contrib/bmake/str.c
==============================================================================
--- head/contrib/bmake/str.c Fri Apr 21 22:00:22 2017 (r317273)
+++ head/contrib/bmake/str.c Fri Apr 21 22:19:13 2017 (r317274)
@@ -382,8 +382,11 @@ Str_Match(const char *string, const char
} else
nomatch = 0;
for (;;) {
- if ((*pattern == ']') || (*pattern == 0))
- return(nomatch);
+ if ((*pattern == ']') || (*pattern == 0)) {
+ if (nomatch)
+ break;
+ return(0);
+ }
if (*pattern == *string)
break;
if (pattern[1] == '-') {
@@ -400,7 +403,7 @@ Str_Match(const char *string, const char
}
++pattern;
}
- if (nomatch)
+ if (nomatch && (*pattern != ']') && (*pattern != 0))
return 0;
while ((*pattern != ']') && (*pattern != 0))
++pattern;
Modified: head/contrib/bmake/unit-tests/modmatch.exp
==============================================================================
--- head/contrib/bmake/unit-tests/modmatch.exp Fri Apr 21 22:00:22 2017 (r317273)
+++ head/contrib/bmake/unit-tests/modmatch.exp Fri Apr 21 22:19:13 2017 (r317274)
@@ -16,4 +16,5 @@ LIB=e X_LIBS:M*/lib${LIB}.a:tu is "/TMP/
Mscanner=OK
Upper=One Two Three Four
Lower=five six seven
+nose=One Three five
exit status 0
Modified: head/contrib/bmake/unit-tests/modmatch.mk
==============================================================================
--- head/contrib/bmake/unit-tests/modmatch.mk Fri Apr 21 22:00:22 2017 (r317273)
+++ head/contrib/bmake/unit-tests/modmatch.mk Fri Apr 21 22:19:13 2017 (r317274)
@@ -31,3 +31,4 @@ LIST= One Two Three Four five six seven
check-cclass:
@echo Upper=${LIST:M[A-Z]*}
@echo Lower=${LIST:M[^A-Z]*}
+ @echo nose=${LIST:M[^s]*[ex]}
More information about the svn-src-all
mailing list