Subject: CVS commit: src
To: None <source-changes@NetBSD.org>
From: Brian Ginsbach <ginsbach@netbsd.org>
List: source-changes
Date: 07/05/2007 16:05:40
Module Name:	src
Committed By:	ginsbach
Date:		Thu Jul  5 16:05:40 UTC 2007

Modified Files:
	src/lib/libc/stdlib: getopt_long.c
	src/regress/lib/libc/stdlib/getopt_long: opttest

Log Message:
Fix several end cases:

o If a long option looks like an ambiguous abbreviation of two or more long
  options, but all the possible interpretations would return the same
  value, then just return that value without complaining that it's
  ambiguous.

o If a long option could be interpreted either as an exact match for one
  long option, or as an abbreviation for one or more other long options,
  then treat it as the exact match.

These changes align NetBSD's getopt_long(3) with the current behavior of
GNU getopt_long(3), the de facto standard, and FreeBSD's getopt_long(3).


To generate a diff of this commit:
cvs rdiff -r1.20 -r1.21 src/lib/libc/stdlib/getopt_long.c
cvs rdiff -r1.1 -r1.2 src/regress/lib/libc/stdlib/getopt_long/opttest

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.