aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/make/dir.c
diff options
context:
space:
mode:
authorJuli Mallett <jmallett@FreeBSD.org>2002-06-20 19:41:21 +0000
committerJuli Mallett <jmallett@FreeBSD.org>2002-06-20 19:41:21 +0000
commit2431da5c7e95582f9b4ddf9fcfbc23641ad92829 (patch)
tree8835447994f21a35f8884e5851b680e09d838bf0 /usr.bin/make/dir.c
parenta63d92ee8970fb25322903e7d7c7da02b44d6d19 (diff)
Notes
Diffstat (limited to 'usr.bin/make/dir.c')
-rw-r--r--usr.bin/make/dir.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/usr.bin/make/dir.c b/usr.bin/make/dir.c
index 1431687d5a9b6..38754e1f4b005 100644
--- a/usr.bin/make/dir.c
+++ b/usr.bin/make/dir.c
@@ -296,17 +296,33 @@ Dir_HasWildcards (name)
char *name; /* name to check */
{
char *cp;
+ int wild = 0, brace = 0, bracket = 0;
for (cp = name; *cp; cp++) {
switch(*cp) {
case '{':
+ brace++;
+ wild = 1;
+ break;
+ case '}':
+ brace--;
+ break;
case '[':
+ bracket++;
+ wild = 1;
+ break;
+ case ']':
+ bracket--;
+ break;
case '?':
case '*':
- return (TRUE);
+ wild = 1;
+ break;
+ default:
+ break;
}
}
- return (FALSE);
+ return wild && bracket == 0 && brace == 0;
}
/*-