summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--coreutils/seq.c12
-rwxr-xr-xtestsuite/seq.tests8
2 files changed, 9 insertions, 11 deletions
diff --git a/coreutils/seq.c b/coreutils/seq.c
index f4d891772..0df094001 100644
--- a/coreutils/seq.c
+++ b/coreutils/seq.c
@@ -29,13 +29,11 @@ int seq_main(int argc, char **argv)
}
/* You should note that this is pos-5.0.91 semantics, -- FK. */
- if (first <= last ? increment > 0 : increment < 0) {
- for (i = first;
- (first <= last) ? (i <= last) : (i >= last);
- i += increment)
- {
- printf("%g\n", i);
- }
+ for (i = first;
+ (increment > 0 && i <= last) || (increment < 0 && i >=last);
+ i += increment)
+ {
+ printf("%g\n", i);
}
return EXIT_SUCCESS;
diff --git a/testsuite/seq.tests b/testsuite/seq.tests
index 4b2524b19..2a76d86f9 100755
--- a/testsuite/seq.tests
+++ b/testsuite/seq.tests
@@ -22,10 +22,10 @@ testing "seq one argument" "seq 3" "1\n2\n3\n" "" ""
testing "seq two arguments" "seq 5 7" "5\n6\n7\n" "" ""
testing "seq two arguments reversed" "seq 7 5" "" "" ""
testing "seq two arguments equal" "seq 3 3" "3\n" "" ""
-# test negative non-null step
-testing "seq two arguments equal, arbitrary negative step" "seq 1 -15 1" "1\n" "" ""
-# test positive non-null step
-testing "seq two arguments equal, arbitrary positive step" "seq 1 +15 1" "1\n" "" ""
+testing "seq two arguments equal, arbitrary negative step" "seq 1 -15 1" \
+ "1\n" "" ""
+testing "seq two arguments equal, arbitrary positive step" "seq 1 +15 1" \
+ "1\n" "" ""
testing "seq count up by 2" "seq 4 2 8" "4\n6\n8\n" "" ""
testing "seq count down by 2" "seq 8 -2 4" "8\n6\n4\n" "" ""
testing "seq count wrong way #1" "seq 4 -2 8" "" "" ""