diff options
author | peter <peter@FreeBSD.org> | 1997-03-11 11:39:58 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-03-11 11:39:58 +0000 |
commit | 8574ea8a0e1603e7eb2849859cac28f7a9071f3c (patch) | |
tree | 9a336dba1de98fdb100be044eb79b81ed304c8c8 /lib/libc/stdlib/getopt.3 | |
parent | bb2b65bb1cc28ad6ffb0a8ab803ddd9943de91da (diff) | |
download | FreeBSD-src-8574ea8a0e1603e7eb2849859cac28f7a9071f3c.zip FreeBSD-src-8574ea8a0e1603e7eb2849859cac28f7a9071f3c.tar.gz |
Merge Lite2 changes
Diffstat (limited to 'lib/libc/stdlib/getopt.3')
-rw-r--r-- | lib/libc/stdlib/getopt.3 | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/lib/libc/stdlib/getopt.3 b/lib/libc/stdlib/getopt.3 index 3047183..12fdf19 100644 --- a/lib/libc/stdlib/getopt.3 +++ b/lib/libc/stdlib/getopt.3 @@ -29,16 +29,16 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" @(#)getopt.3 8.4 (Berkeley) 4/19/94 +.\" @(#)getopt.3 8.5 (Berkeley) 4/27/95 .\" -.Dd April 19, 1994 +.Dd April 27, 1995 .Dt GETOPT 3 .Os BSD 4.3 .Sh NAME .Nm getopt .Nd get option character from command line argument list .Sh SYNOPSIS -.Fd #include <stdlib.h> +.Fd #include <unistd.h> .Vt extern char *optarg; .Vt extern int optind; .Vt extern int optopt; @@ -120,8 +120,7 @@ must be reinitialized. The .Fn getopt function -returns an -.Dv EOF +returns \-1 when the argument list is exhausted, or .Ql ? if a non-recognized @@ -131,13 +130,11 @@ by the option .Ql -- (double dash) which causes .Fn getopt -to signal the end of argument processing and return an -.Dv EOF . +to signal the end of argument processing and returns \-1. When all options have been processed (i.e., up to the first non-option argument), .Fn getopt -returns -.Dv EOF . +returns \-1. .Sh DIAGNOSTICS If the .Fn getopt @@ -179,7 +176,7 @@ extern int optind; int bflag, ch, fd; bflag = 0; -while ((ch = getopt(argc, argv, "bf:")) != EOF) +while ((ch = getopt(argc, argv, "bf:")) != -1) switch(ch) { case 'b': bflag = 1; @@ -204,6 +201,18 @@ The function appeared .Bx 4.3 . .Sh BUGS +The +.Fn getopt +function was once specified to return +.Dv EOF +instead of \-1. +This was changed by +.St -p1003.2-92 +to decouple +.Fn getopt +from +.Pa <stdio.h> . +.Pp A single dash .Dq Li - may be specified as an character in @@ -221,8 +230,7 @@ It is provided for backward compatibility .Em only . By default, a single dash causes .Fn getopt -to return -.Dv EOF . +to return \-1. This is, we believe, compatible with System V. .Pp It is also possible to handle digits as option letters. @@ -239,7 +247,7 @@ The following code fragment works in most cases. int length; char *p; -while ((c = getopt(argc, argv, "0123456789")) != EOF) +while ((c = getopt(argc, argv, "0123456789")) != -1) switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': |