aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-01-08 10:13:11 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-01-08 10:13:11 +0100
commitc9807d787d2d9ee5ed9f614c74573e47c8b359ab (patch)
tree0fd7761d6ad2ac2d9fd72a7591442378e86e711f /coreutils
parentcb9c3894e50ecd5e940bb8a248fdb49da8e0c918 (diff)
downloadbusybox-w32-c9807d787d2d9ee5ed9f614c74573e47c8b359ab.tar.gz
busybox-w32-c9807d787d2d9ee5ed9f614c74573e47c8b359ab.tar.bz2
busybox-w32-c9807d787d2d9ee5ed9f614c74573e47c8b359ab.zip
nice: code shrink
function old new delta nice_main 157 152 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/nice.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/coreutils/nice.c b/coreutils/nice.c
index d6818cf00..aa8b06cce 100644
--- a/coreutils/nice.c
+++ b/coreutils/nice.c
@@ -26,7 +26,7 @@
26#include "libbb.h" 26#include "libbb.h"
27 27
28int nice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 28int nice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
29int nice_main(int argc, char **argv) 29int nice_main(int argc UNUSED_PARAM, char **argv)
30{ 30{
31 int old_priority, adjustment; 31 int old_priority, adjustment;
32 32
@@ -40,18 +40,21 @@ int nice_main(int argc, char **argv)
40 adjustment = 10; /* Set default adjustment. */ 40 adjustment = 10; /* Set default adjustment. */
41 41
42 if (argv[0][0] == '-') { 42 if (argv[0][0] == '-') {
43 if (argv[0][1] == 'n') { /* -n */ 43 char *nnn = argv[0] + 1;
44 if (argv[0][2]) { /* -nNNNN (w/o space) */ 44 if (nnn[0] == 'n') { /* -n */
45 argv[0] += 2; argv--; argc++; 45 nnn += 1;
46 if (!nnn[0]) { /* "-n NNN" */
47 nnn = *++argv;
46 } 48 }
47 } else { /* -NNN (NNN may be negative) == -n NNN */ 49 /* else: "-nNNN" (w/o space) */
48 argv[0] += 1; argv--; argc++;
49 } 50 }
50 if (argc < 4) { /* Missing priority and/or utility! */ 51 /* else: "-NNN" (NNN may be negative) - same as "-n NNN" */
52
53 if (!nnn || !argv[1]) { /* Missing priority or PROG! */
51 bb_show_usage(); 54 bb_show_usage();
52 } 55 }
53 adjustment = xatoi_range(argv[1], INT_MIN/2, INT_MAX/2); 56 adjustment = xatoi_range(nnn, INT_MIN/2, INT_MAX/2);
54 argv += 2; 57 argv++;
55 } 58 }
56 59
57 { /* Set our priority. */ 60 { /* Set our priority. */