getopt_long(3): Document behavior of leading characters in optstring
Leading '+', '-', and ':' in optstring have special meaning. We briefly mention that the first two have special meaning in that we say POSIXLY_CORRECT turns them off, but we don't actually document their meaning. Add a paragraph to RETURN VALUES explaining how they control the treatment of non-option arguments. A leading ':' has no mention; add a note that it suppresses warnings about missing arguments. Reviewed by: jilles MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D14142
This commit is contained in:
parent
639f40f8e9
commit
3b89018938
@ -31,7 +31,7 @@
|
||||
.\" @(#)getopt.3 8.5 (Berkeley) 4/27/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd December 25, 2011
|
||||
.Dd May 2, 2018
|
||||
.Dt GETOPT_LONG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -207,12 +207,53 @@ these functions return 0 and store
|
||||
.Fa val
|
||||
in the location pointed to by
|
||||
.Fa flag .
|
||||
.Pp
|
||||
These functions return
|
||||
.Ql \&:
|
||||
if there was a missing option argument,
|
||||
if there was a missing option argument and error messages are suppressed,
|
||||
.Ql \&?
|
||||
if the user specified an unknown or ambiguous option, and
|
||||
\-1 when the argument list has been exhausted.
|
||||
The default behavior when a missing option argument is encountered is to write
|
||||
an error and return
|
||||
.Ql \&? .
|
||||
Specifying
|
||||
.Ql \&:
|
||||
in
|
||||
.Fa optstr
|
||||
will cause the error message to be suppressed and
|
||||
.Ql \&:
|
||||
to be returned instead.
|
||||
.Pp
|
||||
In addition to
|
||||
.Ql \&: ,
|
||||
a leading
|
||||
.Ql \&+
|
||||
or
|
||||
.Ql \&-
|
||||
in
|
||||
.Fa optstr
|
||||
also has special meaning.
|
||||
If either of these are specified, they must appear before
|
||||
.Ql \&: .
|
||||
.Pp
|
||||
A leading
|
||||
.Ql \&+
|
||||
indicates that processing should be halted at the first non-option argument,
|
||||
matching the default behavior of
|
||||
.Xr getopt 3 .
|
||||
The default behavior without
|
||||
.Ql \&+
|
||||
is to permute non-option argments to the end of
|
||||
.Fa argv .
|
||||
.Pp
|
||||
A leading
|
||||
.Ql \&-
|
||||
indicates that all non-option arguments should be treated as if they are
|
||||
arguments to a literal
|
||||
.Ql \&1
|
||||
flag (i.e., the function call will return the value 1, rather than the char
|
||||
literal '1').
|
||||
.Sh ENVIRONMENT
|
||||
.Bl -tag -width ".Ev POSIXLY_CORRECT"
|
||||
.It Ev POSIXLY_CORRECT
|
||||
|
Loading…
Reference in New Issue
Block a user