diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-10 22:44:20 +0300 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-10 22:44:20 +0300 |
commit | 04e11c9209f88b878d6bef0b56a4d8345c89c217 (patch) | |
tree | dc67a11b65d3d7e4a03b955dd2f5d1b3c7721b2f /procps | |
parent | 9304d6ea92f7fc1529669800b75456d549cf1bfc (diff) |
getpot: add support for "a+" specifier for nonnegative int parameters.
By Vladimir Dronnikov <dronnikov at gmail.com>.
fdisk and top are converted as an example.
function old new delta
getopt32 1340 1370 +30
top_main 1137 1120 -17
fdisk_main 3033 2949 -84
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 30/-101) Total: -71 bytes
Diffstat (limited to 'procps')
-rw-r--r-- | procps/top.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/procps/top.c b/procps/top.c index 4df58f227..37b6a0cdb 100644 --- a/procps/top.c +++ b/procps/top.c @@ -740,7 +740,7 @@ int top_main(int argc, char **argv) int count, lines, col; unsigned interval; int iterations; - char *sinterval, *siterations; + char *sinterval; SKIP_FEATURE_TOPMEM(const) unsigned scan_mask = TOP_MASK; #if ENABLE_FEATURE_USE_TERMIOS struct termios new_settings; @@ -757,15 +757,12 @@ int top_main(int argc, char **argv) iterations = 0; /* infinite */ /* do normal option parsing */ - opt_complementary = "-"; - getopt32(argv, "d:n:b", &sinterval, &siterations); + opt_complementary = "-:n+"; + getopt32(argv, "d:n:b", &sinterval, &iterations); if (option_mask32 & 0x1) { /* Need to limit it to not overflow poll timeout */ interval = xatou16(sinterval); // -d } - if (option_mask32 & 0x2) - iterations = xatoi_u(siterations); // -n - //if (option_mask32 & 0x4) // -b /* change to /proc */ xchdir("/proc"); |