From 7753ea49bd435d2f5d4a47d50fcfd4efcd52cad8 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 12 Nov 2008 21:37:19 +0000 Subject: [PATCH] seq: shrink by 10 bytes --- coreutils/seq.c | 17 +++++++++-------- 1 file 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 @@ int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int seq_main(int argc, char **argv) { + enum { + OPT_w = (1 << 0), + OPT_s = (1 << 1), + }; double last, increment, i; - enum { OPT_w = 1, OPT_s }; - const char *sep = "\n"; - bool is_consecutive = 0; - unsigned opt = getopt32(argv, "+ws:", &sep); + const char *sep, *opt_s = "\n"; + unsigned opt = getopt32(argv, "+ws:", &opt_s); unsigned width = 0; argc -= optind; @@ -40,11 +42,10 @@ int seq_main(int argc, char **argv) width = MAX(strlen(*argv), strlen(argv[argc-1])); /* You should note that this is pos-5.0.91 semantics, -- FK. */ + sep = ""; while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) { - if (is_consecutive++) { - printf("%s", sep); - } - printf("%0*g", width, i); + printf("%s%0*g", sep, width, i); + sep = opt_s; i += increment; } bb_putchar('\n'); -- 2.25.1