diff options
Diffstat (limited to 'toys/posix/find.c')
-rw-r--r-- | toys/posix/find.c | 9 |
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) |