Subject: NetBSD master CVS tree commits
To: None <source-changes@NetBSD.ORG>
From: None <source@NetBSD.ORG>
List: source-changes
Date: 07/18/1997 00:20:02
Thu Jul 17 17:18:27 PDT 1997
Update of /cvsroot/src/usr.bin/getopt
In directory netbsd1:/var/slash-tmp/cvs-serv5200

Modified Files:
Log Message:
Add a new example to SYNOPSIS, change the example.  This is in response
to the fact that the /bin/sh set command always sets the exit status to
0, so testing $? will not help discover if getopt found an error if
getopt is used via "set -- `getopt ....`".  (POSIX 1003.2 D11 draft says
that the sh set command must return 0 as the exit status.)

I think that POSIX is wrong or that is is not well enough specified to
allow the result of the set to be the exit status of the getopt.  But
considering the sequential nature of execution, the set is done last
and is the "last command" and therefore must be the one to set the exit
status.  At least there is a work-around for shell scripts.