diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-12 21:37:19 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-12 21:37:19 +0000 |
commit | 7753ea49bd435d2f5d4a47d50fcfd4efcd52cad8 (patch) | |
tree | df955f0d5b682c35a1308c289689af5debc78cd3 /coreutils/seq.c | |
parent | cf3e05bbdb1e88eeb5e9771ef053bdce6797cd93 (diff) | |
download | busybox-w32-7753ea49bd435d2f5d4a47d50fcfd4efcd52cad8.tar.gz busybox-w32-7753ea49bd435d2f5d4a47d50fcfd4efcd52cad8.tar.bz2 busybox-w32-7753ea49bd435d2f5d4a47d50fcfd4efcd52cad8.zip |
seq: shrink by 10 bytes
Diffstat (limited to 'coreutils/seq.c')
-rw-r--r-- | coreutils/seq.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/coreutils/seq.c b/coreutils/seq.c index cf856bf04..4b853c698 100644 --- a/coreutils/seq.c +++ b/coreutils/seq.c | |||
@@ -15,11 +15,13 @@ | |||
15 | int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 15 | int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
16 | int seq_main(int argc, char **argv) | 16 | int seq_main(int argc, char **argv) |
17 | { | 17 | { |
18 | enum { | ||
19 | OPT_w = (1 << 0), | ||
20 | OPT_s = (1 << 1), | ||
21 | }; | ||
18 | double last, increment, i; | 22 | double last, increment, i; |
19 | enum { OPT_w = 1, OPT_s }; | 23 | const char *sep, *opt_s = "\n"; |
20 | const char *sep = "\n"; | 24 | unsigned opt = getopt32(argv, "+ws:", &opt_s); |
21 | bool is_consecutive = 0; | ||
22 | unsigned opt = getopt32(argv, "+ws:", &sep); | ||
23 | unsigned width = 0; | 25 | unsigned width = 0; |
24 | 26 | ||
25 | argc -= optind; | 27 | argc -= optind; |
@@ -40,11 +42,10 @@ int seq_main(int argc, char **argv) | |||
40 | width = MAX(strlen(*argv), strlen(argv[argc-1])); | 42 | width = MAX(strlen(*argv), strlen(argv[argc-1])); |
41 | 43 | ||
42 | /* You should note that this is pos-5.0.91 semantics, -- FK. */ | 44 | /* You should note that this is pos-5.0.91 semantics, -- FK. */ |
45 | sep = ""; | ||
43 | while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) { | 46 | while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) { |
44 | if (is_consecutive++) { | 47 | printf("%s%0*g", sep, width, i); |
45 | printf("%s", sep); | 48 | sep = opt_s; |
46 | } | ||
47 | printf("%0*g", width, i); | ||
48 | i += increment; | 49 | i += increment; |
49 | } | 50 | } |
50 | bb_putchar('\n'); | 51 | bb_putchar('\n'); |