seq: shrink by 10 bytes
No binary (build failed)
—
(log yok)
| @@ -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'); | |