diff options
Diffstat (limited to 'coreutils/seq.c')
-rw-r--r-- | coreutils/seq.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/coreutils/seq.c b/coreutils/seq.c index e81a4660a..ef884d6ae 100644 --- a/coreutils/seq.c +++ b/coreutils/seq.c | |||
@@ -7,21 +7,22 @@ | |||
7 | * Licensed under the GPL v2, see the file LICENSE in this tarball. | 7 | * Licensed under the GPL v2, see the file LICENSE in this tarball. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <stdio.h> | ||
11 | #include <stdlib.h> | ||
12 | #include "busybox.h" | 10 | #include "busybox.h" |
13 | 11 | ||
12 | /* This is a NOFORK applet. Be very careful! */ | ||
13 | |||
14 | |||
14 | int seq_main(int argc, char **argv); | 15 | int seq_main(int argc, char **argv); |
15 | int seq_main(int argc, char **argv) | 16 | int seq_main(int argc, char **argv) |
16 | { | 17 | { |
17 | double last, first, increment, i; | 18 | double last, increment, i; |
18 | 19 | ||
19 | first = increment = 1; | 20 | i = increment = 1; |
20 | switch (argc) { | 21 | switch (argc) { |
21 | case 4: | 22 | case 4: |
22 | increment = atof(argv[2]); | 23 | increment = atof(argv[2]); |
23 | case 3: | 24 | case 3: |
24 | first = atof(argv[1]); | 25 | i = atof(argv[1]); |
25 | case 2: | 26 | case 2: |
26 | last = atof(argv[argc-1]); | 27 | last = atof(argv[argc-1]); |
27 | break; | 28 | break; |
@@ -30,12 +31,10 @@ int seq_main(int argc, char **argv) | |||
30 | } | 31 | } |
31 | 32 | ||
32 | /* You should note that this is pos-5.0.91 semantics, -- FK. */ | 33 | /* You should note that this is pos-5.0.91 semantics, -- FK. */ |
33 | for (i = first; | 34 | while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) { |
34 | (increment > 0 && i <= last) || (increment < 0 && i >=last); | ||
35 | i += increment) | ||
36 | { | ||
37 | printf("%g\n", i); | 35 | printf("%g\n", i); |
36 | i += increment; | ||
38 | } | 37 | } |
39 | 38 | ||
40 | return EXIT_SUCCESS; | 39 | return fflush(stdout); |
41 | } | 40 | } |