aboutsummaryrefslogtreecommitdiff
path: root/coreutils/seq.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-11-12 21:37:19 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-11-12 21:37:19 +0000
commit7753ea49bd435d2f5d4a47d50fcfd4efcd52cad8 (patch)
treedf955f0d5b682c35a1308c289689af5debc78cd3 /coreutils/seq.c
parentcf3e05bbdb1e88eeb5e9771ef053bdce6797cd93 (diff)
downloadbusybox-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.c17
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 @@
15int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 15int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
16int seq_main(int argc, char **argv) 16int 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');