Date: Sat, 3 Apr 1999 14:28:26 -0800 (PST) From: <cracauer@FreeBSD.org> To: bob@pmr.com, cracauer@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: bin/5845 Message-ID: <199904032228.OAA09764@freefall.freebsd.org>
index | next in thread | raw e-mail
Synopsis: in sh, set -- `getopt ...` always returns zero
State-Changed-From-To: open->closed
State-Changed-By: cracauer
State-Changed-When: Sun Apr 4 00:26:22 MEST 1999
State-Changed-Why:
Fixed in 4.0-current from today. Will be fixed in 3.x in a few
days. Releases 3.2 and 4.0 should have this change.
The problem wasn't with getopt, but with the example in the manpage.
Here's the log:
1) Fix the case where a shellscript using getopt is called with a
parameter that has space in it, both in getopt.c and in the manpage
example.
2) Fix the example in the manpage. The set(1) command is required to
return 0 (POSIX 1003.2, section 3.14.11), so you can't test for
getopt's exit status like the example did:
#! /bin/sh
set -- `getopt abo: $*`
if test $? != 0 # wrong, tests for set's exit status, which is
# always zero, no for getopt(1)'s.
Fixes PR bin/5845, which thought it was getopt's fault, but in fact
the manpage was wrong.
I also updated the example to be more useful and updated the BUGS
section.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904032228.OAA09764>
