The last four argumens of jot (reps, begin, end, step) can all be
authortb <tb@openbsd.org>
Fri, 12 Aug 2016 21:17:41 +0000 (21:17 +0000)
committertb <tb@openbsd.org>
Fri, 12 Aug 2016 21:17:41 +0000 (21:17 +0000)
commit6fda8b0f5c508efb346e839dd598880940315198
tree02bb4943a890c3df62938ed65f5c82fd89cae192
parentacb148b129063116239fc8bb9358da184f245f5a
The last four argumens of jot (reps, begin, end, step) can all be
specified or omitted, yielding 16 possible combinations, plus
a few special cases.

Instead of hardcoded values, use names to make the bit patterns
that indicate which values were specified human readable. Decide
once and for all what to do in a single switch statement. Don't
enter said switch when random output is requested since that
simply makes no sense at all.

While there, make the error messages a bit more meaningful and
fix a bogus value assigned to begin for jot -r x - y z that has
been there since -r1.1. All regression tests now pass.

Inspired by David Laight (dsl)'s r1.21 of NetBSD's jot.

"move fast and break stuff" tedu
agreement from deraadt
usr.bin/jot/jot.c