getopt-posix: detect MacOS bug
[gnulib.git] / doc / glibc-functions / getopt_long_only.texi
1 @node getopt_long_only
2 @subsection @code{getopt_long_only}
3 @findex getopt_long_only
4
5 Gnulib module: getopt-gnu
6
7 Portability problems fixed by Gnulib:
8 @itemize
9 @item
10 The function @code{getopt_long_only} does not support the @samp{+}
11 flag in the options string on some platforms:
12 MacOS X 10.5, AIX 5.2, OSF/1 5.1, Solaris 10.
13 @item
14 The value of @code{optind} after a missing required argument is wrong
15 on some platforms:
16 MacOS 10.5.
17 @item
18 The function @code{getopt_long_only} does not obey the @samp{-} flag
19 in the options string when @env{POSIXLY_CORRECT} is set on some platforms:
20 Cygwin 1.7.0.
21 @item
22 Some implementations fail to reset state, including re-checking
23 @env{POSIXLY_CORRECT}, when @code{optind} is set to @samp{0}:
24 NetBSD, Cygwin 1.7.0.
25 @item
26 The function @code{getopt_long_only} does not support options with
27 optional arguments on some platforms:
28 MacOS X 10.5, OpenBSD 4.0, AIX 5.2, Solaris 10, Cygwin 1.5.x.
29 @item
30 This function is missing on some platforms:
31 MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, AIX 5.1, HP-UX 11, IRIX 6.5,
32 OSF/1 5.1, mingw, Interix 3.5.
33 @end itemize
34
35 Portability problems not fixed by Gnulib:
36 @itemize
37 @item
38 The glibc extension of using @samp{W;} in the optstring argument to
39 allow @code{-W foo} to behave synonymously with @code{--foo} is not
40 very reliable.
41 @item
42 Some implementations return success instead of reporting an ambiguity
43 if user's option is a prefix of two long options with the same flag:
44 FreeBSD.
45 @item
46 Mixing a leading @samp{-} or @samp{+} with a leading @samp{:} in the
47 optstring argument has inconsistent effects across platforms.
48 @end itemize