* src/seq.c (print_numbers): Also handle first < last && step < 0.
* tests/misc/seq [empty-rev]: New test for this case.
2007-11-17 Jim Meyering <meyering@redhat.com>
+ Correct preceding patch.
+ * src/seq.c (print_numbers): Also handle first < last && step < 0.
+ * tests/misc/seq [empty-rev]: New test for this case.
+
"seq .1 .1" would mistakenly generate no output on some systems
* NEWS: Say this.
* src/seq.c (print_numbers): Handle another floating point corner case.
Hence the first conjunct: don't break out of this loop when
i == 0. *unless* first and last themselves are out of order,
in which case we must print nothing, e.g. for ./seq -1 */
- if (i || last < first)
+ if (i || (0 < step && last < first) || (step < 0 && first < last))
break;
}
(
['onearg-1', qw(10), {OUT => [(1..10)]}],
['onearg-2', qw(-1)],
+ ['empty-rev', qw(1 -1 3)],
['neg-1', qw(-10 10 10), {OUT => [qw(-10 0 10)]}],
# ['neg-2', qw(-.1 .1 .11), {OUT => [qw(-0.1 0.0 0.1)]}],
['neg-3', qw(1 -1 0), {OUT => [qw(1 0)]}],