diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:09:09 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:09:09 +0000 |
| commit | 1d42665b6b0571b9fa5d3b10fbf2dd03382f0ba2 (patch) | |
| tree | 7ec8969fc2b07a2b7dc37f96435e5eddf7daf7fd /util-linux | |
| parent | 62a90cdd7435f09f4bb8673e8b7b213067f9d5cc (diff) | |
| download | busybox-w32-1d42665b6b0571b9fa5d3b10fbf2dd03382f0ba2.tar.gz busybox-w32-1d42665b6b0571b9fa5d3b10fbf2dd03382f0ba2.tar.bz2 busybox-w32-1d42665b6b0571b9fa5d3b10fbf2dd03382f0ba2.zip | |
*: shrink: use Vladimir's "o+" specifier instead of xatou(opt_param)
function old new delta
getopt32 1370 1385 +15
sulogin_main 490 494 +4
realpath_main 84 86 +2
sleep_main 76 77 +1
mt_main 256 257 +1
printenv_main 75 74 -1
fdformat_main 546 545 -1
usleep_main 44 42 -2
setlogcons_main 77 75 -2
ed_main 2654 2649 -5
deallocvt_main 69 64 -5
addgroup_main 373 368 -5
mkfs_minix_main 2989 2982 -7
tail_main 1221 1213 -8
sv_main 1254 1241 -13
du_main 348 328 -20
tftp_main 325 302 -23
split_main 581 558 -23
nc_main 1000 977 -23
diff_main 891 868 -23
arping_main 1797 1770 -27
ls_main 893 847 -46
od_main 2797 2750 -47
readprofile_main 1944 1895 -49
tcpudpsvd_main 1973 1922 -51
udhcpc_main 2590 2513 -77
grep_main 824 722 -102
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/22 up/down: 23/-560) Total: -537 bytes
text data bss dec hex filename
796973 658 7428 805059 c48c3 busybox_old
796479 662 7420 804561 c46d1 busybox_unstripped
Diffstat (limited to 'util-linux')
| -rw-r--r-- | util-linux/fdformat.c | 6 | ||||
| -rw-r--r-- | util-linux/mkfs_minix.c | 6 | ||||
| -rw-r--r-- | util-linux/readprofile.c | 53 | ||||
| -rw-r--r-- | util-linux/setarch.c | 2 | ||||
| -rw-r--r-- | util-linux/swaponoff.c | 4 |
5 files changed, 41 insertions, 30 deletions
diff --git a/util-linux/fdformat.c b/util-linux/fdformat.c index c4f97ae34..eac7b15e9 100644 --- a/util-linux/fdformat.c +++ b/util-linux/fdformat.c | |||
| @@ -41,7 +41,7 @@ struct format_descr { | |||
| 41 | #define FD_FILL_BYTE 0xF6 /* format fill byte. */ | 41 | #define FD_FILL_BYTE 0xF6 /* format fill byte. */ |
| 42 | 42 | ||
| 43 | int fdformat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 43 | int fdformat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 44 | int fdformat_main(int argc, char **argv) | 44 | int fdformat_main(int argc ATTRIBUTE_UNUSED, char **argv) |
| 45 | { | 45 | { |
| 46 | int fd, n, cyl, read_bytes, verify; | 46 | int fd, n, cyl, read_bytes, verify; |
| 47 | unsigned char *data; | 47 | unsigned char *data; |
| @@ -49,9 +49,7 @@ int fdformat_main(int argc, char **argv) | |||
| 49 | struct floppy_struct param; | 49 | struct floppy_struct param; |
| 50 | struct format_descr descr; | 50 | struct format_descr descr; |
| 51 | 51 | ||
| 52 | if (argc < 2) { | 52 | opt_complementary = "=1"; /* must have 1 param */ |
| 53 | bb_show_usage(); | ||
| 54 | } | ||
| 55 | verify = !getopt32(argv, "n"); | 53 | verify = !getopt32(argv, "n"); |
| 56 | argv += optind; | 54 | argv += optind; |
| 57 | 55 | ||
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index 3fbdc2020..60031a5c3 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c | |||
| @@ -627,7 +627,7 @@ int mkfs_minix_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 627 | unsigned opt; | 627 | unsigned opt; |
| 628 | char *tmp; | 628 | char *tmp; |
| 629 | struct stat statbuf; | 629 | struct stat statbuf; |
| 630 | char *str_i, *str_n; | 630 | char *str_i; |
| 631 | char *listfile = NULL; | 631 | char *listfile = NULL; |
| 632 | 632 | ||
| 633 | INIT_G(); | 633 | INIT_G(); |
| @@ -643,13 +643,13 @@ int mkfs_minix_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 643 | bb_error_msg_and_die("bad inode size"); | 643 | bb_error_msg_and_die("bad inode size"); |
| 644 | #endif | 644 | #endif |
| 645 | 645 | ||
| 646 | opt = getopt32(argv, "ci:l:n:v", &str_i, &listfile, &str_n); | 646 | opt_complementary = "n+"; /* -n N */ |
| 647 | opt = getopt32(argv, "ci:l:n:v", &str_i, &listfile, &G.namelen); | ||
| 647 | argv += optind; | 648 | argv += optind; |
| 648 | //if (opt & 1) -c | 649 | //if (opt & 1) -c |
| 649 | if (opt & 2) G.req_nr_inodes = xatoul(str_i); // -i | 650 | if (opt & 2) G.req_nr_inodes = xatoul(str_i); // -i |
| 650 | //if (opt & 4) -l | 651 | //if (opt & 4) -l |
| 651 | if (opt & 8) { // -n | 652 | if (opt & 8) { // -n |
| 652 | G.namelen = xatoi_u(str_n); | ||
| 653 | if (G.namelen == 14) G.magic = MINIX1_SUPER_MAGIC; | 653 | if (G.namelen == 14) G.magic = MINIX1_SUPER_MAGIC; |
| 654 | else if (G.namelen == 30) G.magic = MINIX1_SUPER_MAGIC2; | 654 | else if (G.namelen == 30) G.magic = MINIX1_SUPER_MAGIC2; |
| 655 | else bb_show_usage(); | 655 | else bb_show_usage(); |
diff --git a/util-linux/readprofile.c b/util-linux/readprofile.c index ef7865951..e25d07d2b 100644 --- a/util-linux/readprofile.c +++ b/util-linux/readprofile.c | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | */ | 8 | */ |
| 9 | 9 | ||
| 10 | /* | 10 | /* |
| 11 | * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL> | 11 | * 1999-02-22 Arkadiusz Mickiewicz <misiek@pld.ORG.PL> |
| 12 | * - added Native Language Support | 12 | * - added Native Language Support |
| 13 | * 1999-09-01 Stephane Eranian <eranian@cello.hpl.hp.com> | 13 | * 1999-09-01 Stephane Eranian <eranian@cello.hpl.hp.com> |
| 14 | * - 64bit clean patch | 14 | * - 64bit clean patch |
| @@ -45,7 +45,7 @@ int readprofile_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | |||
| 45 | int readprofile_main(int argc ATTRIBUTE_UNUSED, char **argv) | 45 | int readprofile_main(int argc ATTRIBUTE_UNUSED, char **argv) |
| 46 | { | 46 | { |
| 47 | FILE *map; | 47 | FILE *map; |
| 48 | const char *mapFile, *proFile, *mult = 0; | 48 | const char *mapFile, *proFile; |
| 49 | unsigned long indx = 1; | 49 | unsigned long indx = 1; |
| 50 | size_t len; | 50 | size_t len; |
| 51 | uint64_t add0 = 0; | 51 | uint64_t add0 = 0; |
| @@ -55,37 +55,49 @@ int readprofile_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 55 | char fn_name[S_LEN], next_name[S_LEN]; /* current and next name */ | 55 | char fn_name[S_LEN], next_name[S_LEN]; /* current and next name */ |
| 56 | char mapline[S_LEN]; | 56 | char mapline[S_LEN]; |
| 57 | char mode[8]; | 57 | char mode[8]; |
| 58 | int optAll = 0, optInfo = 0, optReset = 0; | ||
| 59 | int optVerbose = 0, optNative = 0; | ||
| 60 | int optBins = 0, optSub = 0; | ||
| 61 | int maplineno = 1; | 58 | int maplineno = 1; |
| 62 | int header_printed; | 59 | int header_printed; |
| 60 | int multiplier = 0; | ||
| 61 | unsigned opt; | ||
| 62 | enum { | ||
| 63 | OPT_M = (1 << 0), | ||
| 64 | OPT_m = (1 << 1), | ||
| 65 | OPT_p = (1 << 2), | ||
| 66 | OPT_n = (1 << 3), | ||
| 67 | OPT_a = (1 << 4), | ||
| 68 | OPT_b = (1 << 5), | ||
| 69 | OPT_s = (1 << 6), | ||
| 70 | OPT_i = (1 << 7), | ||
| 71 | OPT_r = (1 << 8), | ||
| 72 | OPT_v = (1 << 9), | ||
| 73 | }; | ||
| 74 | #define optMult (opt & OPT_M) | ||
| 75 | #define optNative (opt & OPT_n) | ||
| 76 | #define optAll (opt & OPT_a) | ||
| 77 | #define optBins (opt & OPT_b) | ||
| 78 | #define optSub (opt & OPT_s) | ||
| 79 | #define optInfo (opt & OPT_i) | ||
| 80 | #define optReset (opt & OPT_r) | ||
| 81 | #define optVerbose (opt & OPT_v) | ||
| 63 | 82 | ||
| 64 | #define next (current^1) | 83 | #define next (current^1) |
| 65 | 84 | ||
| 66 | proFile = defaultpro; | 85 | proFile = defaultpro; |
| 67 | mapFile = defaultmap; | 86 | mapFile = defaultmap; |
| 68 | 87 | ||
| 69 | opt_complementary = "nn:aa:bb:ss:ii:rr:vv"; | 88 | opt_complementary = "M+"; /* -M N */ |
| 70 | getopt32(argv, "M:m:p:nabsirv", | 89 | opt = getopt32(argv, "M:m:p:nabsirv", &multiplier, &mapFile, &proFile); |
| 71 | &mult, &mapFile, &proFile, | ||
| 72 | &optNative, &optAll, &optBins, &optSub, | ||
| 73 | &optInfo, &optReset, &optVerbose); | ||
| 74 | 90 | ||
| 75 | if (optReset || mult) { | 91 | if (opt & (OPT_M|OPT_r)) { /* mult or reset, or both */ |
| 76 | int multiplier, fd, to_write; | 92 | int fd, to_write; |
| 77 | 93 | ||
| 78 | /* | 94 | /* |
| 79 | * When writing the multiplier, if the length of the write is | 95 | * When writing the multiplier, if the length of the write is |
| 80 | * not sizeof(int), the multiplier is not changed | 96 | * not sizeof(int), the multiplier is not changed |
| 81 | */ | 97 | */ |
| 82 | if (mult) { | 98 | to_write = sizeof(int); |
| 83 | multiplier = xatoi_u(mult); | 99 | if (!optMult) |
| 84 | to_write = sizeof(int); | ||
| 85 | } else { | ||
| 86 | multiplier = 0; | ||
| 87 | to_write = 1; /* sth different from sizeof(int) */ | 100 | to_write = 1; /* sth different from sizeof(int) */ |
| 88 | } | ||
| 89 | 101 | ||
| 90 | fd = xopen(defaultpro, O_WRONLY); | 102 | fd = xopen(defaultpro, O_WRONLY); |
| 91 | xwrite(fd, &multiplier, to_write); | 103 | xwrite(fd, &multiplier, to_write); |
| @@ -187,8 +199,9 @@ int readprofile_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 187 | if (optBins) { | 199 | if (optBins) { |
| 188 | if (optVerbose || this > 0) | 200 | if (optVerbose || this > 0) |
| 189 | printf(" total\t\t\t\t%u\n", this); | 201 | printf(" total\t\t\t\t%u\n", this); |
| 190 | } else if ((this || optAll) && | 202 | } else if ((this || optAll) |
| 191 | (fn_len = next_add-fn_add) != 0) { | 203 | && (fn_len = next_add-fn_add) != 0 |
| 204 | ) { | ||
| 192 | if (optVerbose) | 205 | if (optVerbose) |
| 193 | printf("%016llx %-40s %6i %8.4f\n", fn_add, | 206 | printf("%016llx %-40s %6i %8.4f\n", fn_add, |
| 194 | fn_name, this, this/(double)fn_len); | 207 | fn_name, this, this/(double)fn_len); |
diff --git a/util-linux/setarch.c b/util-linux/setarch.c index dbc02de5e..1f979a73c 100644 --- a/util-linux/setarch.c +++ b/util-linux/setarch.c | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | #include "libbb.h" | 12 | #include "libbb.h" |
| 13 | 13 | ||
| 14 | int setarch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 14 | int setarch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 15 | int setarch_main(int ATTRIBUTE_UNUSED argc, char **argv) | 15 | int setarch_main(int argc ATTRIBUTE_UNUSED, char **argv) |
| 16 | { | 16 | { |
| 17 | int pers = -1; | 17 | int pers = -1; |
| 18 | 18 | ||
diff --git a/util-linux/swaponoff.c b/util-linux/swaponoff.c index 48f6f4e0b..beefac030 100644 --- a/util-linux/swaponoff.c +++ b/util-linux/swaponoff.c | |||
| @@ -59,11 +59,11 @@ static int do_em_all(void) | |||
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | int swap_on_off_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 61 | int swap_on_off_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 62 | int swap_on_off_main(int argc, char **argv) | 62 | int swap_on_off_main(int argc ATTRIBUTE_UNUSED, char **argv) |
| 63 | { | 63 | { |
| 64 | int ret; | 64 | int ret; |
| 65 | 65 | ||
| 66 | if (argc == 1) | 66 | if (!argv[1]) |
| 67 | bb_show_usage(); | 67 | bb_show_usage(); |
| 68 | 68 | ||
| 69 | ret = getopt32(argv, "a"); | 69 | ret = getopt32(argv, "a"); |
