aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-03-29 13:56:02 +0000
committeraldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-03-29 13:56:02 +0000
commitfd1010b0131f75b9370dcf7895f27a85ca715651 (patch)
treea579f6be2e16862c1819ef0a2af000758f77101b
parent725fb6ccb1fd9924dbc8b790f0fce63bfebdbcd6 (diff)
downloadbusybox-w32-fd1010b0131f75b9370dcf7895f27a85ca715651.tar.gz
busybox-w32-fd1010b0131f75b9370dcf7895f27a85ca715651.tar.bz2
busybox-w32-fd1010b0131f75b9370dcf7895f27a85ca715651.zip
- remove bloated switch statement.
text data bss dec hex filename 2706 1 12 2719 a9f find.o.r18273 2605 1 12 2618 a3a find.o.r18274 git-svn-id: svn://busybox.net/trunk/busybox@18274 69ca8d6d-28ef-0310-b511-8ec308f3f277
-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;