, <tech-userlevel@netbsd.org>
From: Greywolf <greywolf@starwolf.com>
List: tech-userlevel
Date: 03/21/2001 22:35:14
On Wed, 21 Mar 2001, Greg A. Woods wrote:
# Some failures aren't "random". There are a few common classes of
# errors, common enough that there are even de facto standards for exit
# codes to represent them, the most common probably being usage errors
# (with a corresponding exit value of 2).
Usage error == 2? Never in my life.
Usage error falls under domain of "failed to functionally meet command-line
criteria".
# Of course then there are sub-system programs, such as mail delivery
# agents which are supposed to return common codes with meanings defined
# in the BSD-standard <sysexits.h> header file (which unfortunately has
# gone against the aforementioned de facto standard even though I'd dare
# argue it came second).
#
# It would seem to me to be a very good thing to try and continue to
# "standardise" on using the manifests defined in <sysexits.h>.
To amend my last agreement with this:
"Or *something* if not that [I never used sysexits.h]."
I do agree, though, that will-ye-nil-ye exit codes are a Bad Thing [TM].
I wish it could have been thought out a bit more (as the signal addition
thing seemed to be) that exit codes could have been a bit larger such that
errno was stuck in there somehow. When something goes wrong, it'd be
really nice not to have to parse the stderr of the program (such as in
a script) to figure out what went wrong.
But I guess I should probably be coding, not scripting, but that's
(*((*worm_can)())[]) another;
--*greywolf;
--
*BSD: it'll be there when you're ready for it.