diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-24 15:54:42 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-24 15:54:42 +0000 |
commit | 990d0f63eeb502c8762076e5c5499196e09cba55 (patch) | |
tree | 30a2091a8159b1694d65f9952e2aba2667d7dc11 /util-linux | |
parent | bcb66ec22e82f6b1ab93f3aec917269393a5b464 (diff) | |
download | busybox-w32-990d0f63eeb502c8762076e5c5499196e09cba55.tar.gz busybox-w32-990d0f63eeb502c8762076e5c5499196e09cba55.tar.bz2 busybox-w32-990d0f63eeb502c8762076e5c5499196e09cba55.zip |
Replace index_in_[sub]str_array with index_in_[sub]strings,
which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes.
text data bss dec hex filename
781266 1328 11844 794438 c1f46 busybox_old
781010 1328 11844 794182 c1e46 busybox_unstripped
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/getopt.c | 2 | ||||
-rw-r--r-- | util-linux/hwclock.c | 2 | ||||
-rw-r--r-- | util-linux/mount.c | 76 |
3 files changed, 38 insertions, 42 deletions
diff --git a/util-linux/getopt.c b/util-linux/getopt.c index 5ee13ec8b..41299d2c3 100644 --- a/util-linux/getopt.c +++ b/util-linux/getopt.c | |||
@@ -276,7 +276,7 @@ static const char getopt_longopts[] = | |||
276 | "unquoted\0" No_argument "u" | 276 | "unquoted\0" No_argument "u" |
277 | "alternative\0" No_argument "a" | 277 | "alternative\0" No_argument "a" |
278 | "name\0" Required_argument "n" | 278 | "name\0" Required_argument "n" |
279 | "\0"; | 279 | ; |
280 | #endif | 280 | #endif |
281 | 281 | ||
282 | int getopt_main(int argc, char *argv[]); | 282 | int getopt_main(int argc, char *argv[]); |
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c index ff696a3d7..ede95ecaa 100644 --- a/util-linux/hwclock.c +++ b/util-linux/hwclock.c | |||
@@ -185,7 +185,7 @@ int hwclock_main(int argc, char **argv) | |||
185 | "hctosys\0" No_argument "s" | 185 | "hctosys\0" No_argument "s" |
186 | "systohc\0" No_argument "w" | 186 | "systohc\0" No_argument "w" |
187 | "file\0" Required_argument "f" | 187 | "file\0" Required_argument "f" |
188 | "\0"; | 188 | ; |
189 | applet_long_options = hwclock_longopts; | 189 | applet_long_options = hwclock_longopts; |
190 | #endif | 190 | #endif |
191 | opt_complementary = "r--ws:w--rs:s--wr:l--u:u--l"; | 191 | opt_complementary = "r--ws:w--rs:s--wr:l--u:u--l"; |
diff --git a/util-linux/mount.c b/util-linux/mount.c index 4dd1a85a2..7ee24ca14 100644 --- a/util-linux/mount.c +++ b/util-linux/mount.c | |||
@@ -888,33 +888,31 @@ static int nfsmount(struct mntent *mp, int vfsflags, char *filteropts) | |||
888 | if (filteropts) for (opt = strtok(filteropts, ","); opt; opt = strtok(NULL, ",")) { | 888 | if (filteropts) for (opt = strtok(filteropts, ","); opt; opt = strtok(NULL, ",")) { |
889 | char *opteq = strchr(opt, '='); | 889 | char *opteq = strchr(opt, '='); |
890 | if (opteq) { | 890 | if (opteq) { |
891 | static const char *const options[] = { | 891 | static const char options[] = |
892 | /* 0 */ "rsize", | 892 | /* 0 */ "rsize\0" |
893 | /* 1 */ "wsize", | 893 | /* 1 */ "wsize\0" |
894 | /* 2 */ "timeo", | 894 | /* 2 */ "timeo\0" |
895 | /* 3 */ "retrans", | 895 | /* 3 */ "retrans\0" |
896 | /* 4 */ "acregmin", | 896 | /* 4 */ "acregmin\0" |
897 | /* 5 */ "acregmax", | 897 | /* 5 */ "acregmax\0" |
898 | /* 6 */ "acdirmin", | 898 | /* 6 */ "acdirmin\0" |
899 | /* 7 */ "acdirmax", | 899 | /* 7 */ "acdirmax\0" |
900 | /* 8 */ "actimeo", | 900 | /* 8 */ "actimeo\0" |
901 | /* 9 */ "retry", | 901 | /* 9 */ "retry\0" |
902 | /* 10 */ "port", | 902 | /* 10 */ "port\0" |
903 | /* 11 */ "mountport", | 903 | /* 11 */ "mountport\0" |
904 | /* 12 */ "mounthost", | 904 | /* 12 */ "mounthost\0" |
905 | /* 13 */ "mountprog", | 905 | /* 13 */ "mountprog\0" |
906 | /* 14 */ "mountvers", | 906 | /* 14 */ "mountvers\0" |
907 | /* 15 */ "nfsprog", | 907 | /* 15 */ "nfsprog\0" |
908 | /* 16 */ "nfsvers", | 908 | /* 16 */ "nfsvers\0" |
909 | /* 17 */ "vers", | 909 | /* 17 */ "vers\0" |
910 | /* 18 */ "proto", | 910 | /* 18 */ "proto\0" |
911 | /* 19 */ "namlen", | 911 | /* 19 */ "namlen\0" |
912 | /* 20 */ "addr", | 912 | /* 20 */ "addr\0"; |
913 | NULL | ||
914 | }; | ||
915 | int val = xatoi_u(opteq + 1); | 913 | int val = xatoi_u(opteq + 1); |
916 | *opteq = '\0'; | 914 | *opteq = '\0'; |
917 | switch (index_in_str_array(options, opt)) { | 915 | switch (index_in_strings(options, opt)) { |
918 | case 0: // "rsize" | 916 | case 0: // "rsize" |
919 | data.rsize = val; | 917 | data.rsize = val; |
920 | break; | 918 | break; |
@@ -993,26 +991,24 @@ static int nfsmount(struct mntent *mp, int vfsflags, char *filteropts) | |||
993 | } | 991 | } |
994 | } | 992 | } |
995 | else { | 993 | else { |
996 | static const char *const options[] = { | 994 | static const char options[] = |
997 | "bg", | 995 | "bg\0" |
998 | "fg", | 996 | "fg\0" |
999 | "soft", | 997 | "soft\0" |
1000 | "hard", | 998 | "hard\0" |
1001 | "intr", | 999 | "intr\0" |
1002 | "posix", | 1000 | "posix\0" |
1003 | "cto", | 1001 | "cto\0" |
1004 | "ac", | 1002 | "ac\0" |
1005 | "tcp", | 1003 | "tcp\0" |
1006 | "udp", | 1004 | "udp\0" |
1007 | "lock", | 1005 | "lock\0"; |
1008 | NULL | ||
1009 | }; | ||
1010 | int val = 1; | 1006 | int val = 1; |
1011 | if (!strncmp(opt, "no", 2)) { | 1007 | if (!strncmp(opt, "no", 2)) { |
1012 | val = 0; | 1008 | val = 0; |
1013 | opt += 2; | 1009 | opt += 2; |
1014 | } | 1010 | } |
1015 | switch (index_in_str_array(options, opt)) { | 1011 | switch (index_in_strings(options, opt)) { |
1016 | case 0: // "bg" | 1012 | case 0: // "bg" |
1017 | bg = val; | 1013 | bg = val; |
1018 | break; | 1014 | break; |