- remove bloated switch statement.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 29 Mar 2007 13:56:02 +0000 (13:56 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 29 Mar 2007 13:56:02 +0000 (13:56 -0000)
   text    data     bss     dec     hex filename
   2706       1      12    2719     a9f find.o.r18273
   2605       1      12    2618     a3a find.o.r18274

findutils/find.c

index 453ed4b1c0e4ea00e8a6a9e83c0d92d116e77bbd..f94bd23671a81103bc54b0f816766ea04feccabe 100644 (file)
@@ -295,31 +295,22 @@ static int find_type(const char *type)
 {
        int mask = 0;
 
-       switch (type[0]) {
-       case 'b':
+       if (*type == 'b')
                mask = S_IFBLK;
-               break;
-       case 'c':
+       else if (*type == 'c')
                mask = S_IFCHR;
-               break;
-       case 'd':
+       else if (*type == 'd')
                mask = S_IFDIR;
-               break;
-       case 'p':
+       else if (*type == 'p')
                mask = S_IFIFO;
-               break;
-       case 'f':
+       else if (*type == 'f')
                mask = S_IFREG;
-               break;
-       case 'l':
+       else if (*type == 'l')
                mask = S_IFLNK;
-               break;
-       case 's':
+       else if (*type == 's')
                mask = S_IFSOCK;
-               break;
-       }
 
-       if (mask == 0 || type[1] != '\0')
+       if (mask == 0 || *(type + 1) != '\0')
                bb_error_msg_and_die(bb_msg_invalid_arg, type, "-type");
 
        return mask;