mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-16 01:22:18 +03:00
The POSIX folks admitted that codifying the behavior of GNU getopt on a leading '+' in optstring is worthwhile, for writing programs such as env(1) even when POSIXLY_CORRECT is not defined. http://austingroupbugs.net/view.php?id=191 However, the ruling is an enhancement request for the next version of POSIX, and is not binding on platforms that comply with POSIX 2008, so it should only be enforced for getopt-gnu. * tests/test-getopt.h (test_getopt): Strengthen tests of leading '+' handling, when requesting extensions. * tests/test-getopt_long.h (test_getopt_long): Strengthen test of 'W;' handling. * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug. * doc/posix-functions/getopt.texi (getopt): Document this. * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise. * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): Likewise.
45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
@node getopt_long
|
|
@subsection @code{getopt_long}
|
|
@findex getopt_long
|
|
|
|
Gnulib module: getopt-gnu
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
The function @code{getopt_long} does not obey the combination of
|
|
@samp{+} and @samp{:} flags in the options string on some platforms:
|
|
glibc 2.11.
|
|
@item
|
|
The use of @samp{W;} in the optstring argument to does not always
|
|
allow @code{-W foo} to behave synonymously with @code{--foo}:
|
|
glibc 2.11.
|
|
@item
|
|
The function @code{getopt_long} does not support the @samp{+} flag in
|
|
the options string on some platforms:
|
|
MacOS X 10.5, AIX 5.2, OSF/1 5.1, Solaris 10.
|
|
@item
|
|
The value of @code{optind} after a missing required argument is wrong
|
|
on some platforms:
|
|
MacOS 10.5.
|
|
@item
|
|
The function @code{getopt_long} does not obey the @samp{-} flag in the
|
|
options string when @env{POSIXLY_CORRECT} is set on some platforms:
|
|
Cygwin 1.7.0.
|
|
@item
|
|
Some implementations fail to reset state, including re-checking
|
|
@env{POSIXLY_CORRECT}, when @code{optind} is set to @samp{0}:
|
|
NetBSD, Cygwin 1.7.0.
|
|
@item
|
|
The function @code{getopt_long} does not support options with optional
|
|
arguments on some platforms:
|
|
MacOS X 10.5, OpenBSD 4.0, AIX 5.2, IRIX 6.5, Solaris 10, Cygwin 1.5.x.
|
|
@item
|
|
This function is missing on some platforms:
|
|
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Interix 3.5.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@end itemize
|