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 | |
| 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')
| -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'); |
