seq: shrink by 10 bytes

This commit is contained in:
Denis Vlasenko 2008-11-12 21:37:19 +00:00
parent cf3e05bbdb
commit 7753ea49bd

View File

@ -15,11 +15,13 @@
int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int seq_main(int argc, char **argv) int seq_main(int argc, char **argv)
{ {
enum {
OPT_w = (1 << 0),
OPT_s = (1 << 1),
};
double last, increment, i; double last, increment, i;
enum { OPT_w = 1, OPT_s }; const char *sep, *opt_s = "\n";
const char *sep = "\n"; unsigned opt = getopt32(argv, "+ws:", &opt_s);
bool is_consecutive = 0;
unsigned opt = getopt32(argv, "+ws:", &sep);
unsigned width = 0; unsigned width = 0;
argc -= optind; argc -= optind;
@ -40,11 +42,10 @@ int seq_main(int argc, char **argv)
width = MAX(strlen(*argv), strlen(argv[argc-1])); width = MAX(strlen(*argv), strlen(argv[argc-1]));
/* You should note that this is pos-5.0.91 semantics, -- FK. */ /* You should note that this is pos-5.0.91 semantics, -- FK. */
sep = "";
while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) { while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) {
if (is_consecutive++) { printf("%s%0*g", sep, width, i);
printf("%s", sep); sep = opt_s;
}
printf("%0*g", width, i);
i += increment; i += increment;
} }
bb_putchar('\n'); bb_putchar('\n');