patch to add getopt parsing to expr
Joe Talbott
josepht at cstone.net
Tue Jan 20 07:20:41 PST 2009
On Tue, Jan 20, 2009 at 02:02:28PM +0100, Joerg Sonnenberger wrote:
> On Mon, Jan 19, 2009 at 11:30:55PM -0500, Joe Talbott wrote:
> > + while ((ch = getopt(argc, argv, "-")) != -1) {
>
> The use of getopt here is wrong. Besides, using getopt is taking a
> sledgehammer to crack a nut. Attached is the corresponding fix for
> NetBSD, the explicit check for having at least one argument is better
> anyway.
>
> Joerg
Since POSIX requires arguments beginning with '-' to be options
shouldn't the following result in an error?
expr -d=zzz : '.*=\(.*\)'
Where:
expr -- -d=zzz : '.*=\(.*\)'
should be the correct usage. I opted to use getopt() since FreeBSD's
expr accepts -e. The "-" was inadvertently left in the patch.
Thanks,
Joe
More information about the Bugs
mailing list