aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/seq.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/coreutils/seq.c b/coreutils/seq.c
index 8a2a80c14..8006be83d 100644
--- a/coreutils/seq.c
+++ b/coreutils/seq.c
@@ -1,4 +1,7 @@
1/* vi: set sw=4 ts=4: */
1/* 2/*
3 * seq implementation for busybox
4 *
2 * This program is free software; you can redistribute it and/or modify 5 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of version 2 of the GNU General Public License as 6 * it under the terms of version 2 of the GNU General Public License as
4 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
@@ -27,18 +30,22 @@ extern int seq_main(int argc, char **argv)
27 if (argc == 4) { 30 if (argc == 4) {
28 first = atof(argv[1]); 31 first = atof(argv[1]);
29 increment = atof(argv[2]); 32 increment = atof(argv[2]);
30 } 33 } else if (argc == 3) {
31 else if (argc == 3) {
32 first = atof(argv[1]); 34 first = atof(argv[1]);
33 } 35 } else if (argc != 2) {
34 else if (argc != 2) {
35 bb_show_usage(); 36 bb_show_usage();
36 } 37 }
37 last = atof(argv[argc - 1]); 38 last = atof(argv[argc - 1]);
38 39
39 for (i = first; ((first <= last) ? (i <= last): (i >= last));i += increment) { 40 /* You should note that this is pos-5.0.91 semantics, -- FK. */
41 if ((first > last) && (increment > 0)) {
42 return EXIT_SUCCESS;
43 }
44
45 for (i = first; ((first <= last) ? (i <= last) : (i >= last));
46 i += increment) {
40 printf("%g\n", i); 47 printf("%g\n", i);
41 } 48 }
42 49
43 return(EXIT_SUCCESS); 50 return EXIT_SUCCESS;
44} 51}