aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--findutils/find.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/findutils/find.c b/findutils/find.c
index 453ed4b1c..f94bd2367 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -295,31 +295,22 @@ static int find_type(const char *type)
295{ 295{
296 int mask = 0; 296 int mask = 0;
297 297
298 switch (type[0]) { 298 if (*type == 'b')
299 case 'b':
300 mask = S_IFBLK; 299 mask = S_IFBLK;
301 break; 300 else if (*type == 'c')
302 case 'c':
303 mask = S_IFCHR; 301 mask = S_IFCHR;
304 break; 302 else if (*type == 'd')
305 case 'd':
306 mask = S_IFDIR; 303 mask = S_IFDIR;
307 break; 304 else if (*type == 'p')
308 case 'p':
309 mask = S_IFIFO; 305 mask = S_IFIFO;
310 break; 306 else if (*type == 'f')
311 case 'f':
312 mask = S_IFREG; 307 mask = S_IFREG;
313 break; 308 else if (*type == 'l')
314 case 'l':
315 mask = S_IFLNK; 309 mask = S_IFLNK;
316 break; 310 else if (*type == 's')
317 case 's':
318 mask = S_IFSOCK; 311 mask = S_IFSOCK;
319 break;
320 }
321 312
322 if (mask == 0 || type[1] != '\0') 313 if (mask == 0 || *(type + 1) != '\0')
323 bb_error_msg_and_die(bb_msg_invalid_arg, type, "-type"); 314 bb_error_msg_and_die(bb_msg_invalid_arg, type, "-type");
324 315
325 return mask; 316 return mask;