aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/find.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/posix/find.c')
-rw-r--r--toys/posix/find.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/toys/posix/find.c b/toys/posix/find.c
index 47cefb78..ff127b91 100644
--- a/toys/posix/find.c
+++ b/toys/posix/find.c
@@ -398,19 +398,16 @@ static int do_find(struct dirtree *new)
} else if (!strcmp(s, "type")) {
if (check) {
int types[] = {S_IFBLK, S_IFCHR, S_IFDIR, S_IFLNK, S_IFIFO,
- S_IFREG, S_IFSOCK}, i, match = 0;
+ S_IFREG, S_IFSOCK}, i;
char *t = ss[1];
for (; *t; t++) {
if (*t == ',') continue;
i = stridx("bcdlpfs", *t);
if (i<0) error_exit("bad -type '%c'", *t);
- if ((new->st.st_mode & S_IFMT) == types[i]) {
- match = 1;
- break;
- }
+ if ((new->st.st_mode & S_IFMT) == types[i]) break;
}
- if (!match) test = 0;
+ test = *t;
}
} else if (strchr("acm", *s)