|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T g
Length: 2662 (0xa66) Types: TextFile Names: »getopt.l«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./DVIware/laser-setters/quicspool/man/getopt.l« └─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z« └─⟦ca79c7339⟧ └─⟦this⟧ »DVIware/laser-setters/quicspool/man/getopt.l«
.\" $Header: getopt.l,v 1.1 88/01/15 12:58:20 simpson Rel $ .\" $Log: getopt.l,v $ .\" Revision 1.1 88/01/15 12:58:20 simpson .\" initial release .\" .\" Revision 0.1 87/12/11 17:56:51 simpson .\" beta test .\" .TH GETOPT 3 .SH NAME getopt \- get option letter from argument vector .SH SYNOPSIS .B int getopt (argc, argv, optstring) .br .B int argc; .br .B char \(**\(**argv; .br .B char \(**optstring; .PP .B extern char \(**optarg; .br .B extern int optind; .PP cc ... -ltrw .SH DESCRIPTION .I Getopt\^ returns the next option letter in .I argv\^ that matches a letter in .IR optstring . .I Optstring\^ is a string of recognized option letters; if a letter is followed by a colon, the option is expected to have an argument that may or may not be separated from it by white space. .I Optarg\^ is set to point to the start of the option argument on return from .IR getopt . .PP .I Getopt\^ places in .I optind\^ the .I argv\^ index of the next argument to be processed. Because .I optind\^ is external, it is normally initialized to zero automatically before the first call to .IR getopt . .PP When all options have been processed (i.e., up to the first non-option argument), .I getopt\^ returns .SM .BR EOF . The special option .B \-\- may be used to delimit the end of the options; .SM .B EOF will be returned, and .B \-\- will be skipped. .SH DIAGNOSTICS .I Getopt\^ prints an error message on .I stderr\^ and returns a question mark .RB ( ? ) when it encounters an option letter not included in .IR optstring . .SH WARNING The above routine uses \fB<stdio.h>\fP, which causes it to increase the size of programs, not otherwise using standard I/O, more than might be expected. .SH EXAMPLE The following code fragment shows how one might process the arguments for a command that can take the mutually exclusive options .B a and .BR b , and the options .B f and .BR o , both of which require arguments: .PP .RS .nf .ss 18 main (argc, argv) int argc; char \(**\(**argv; { int c; extern int optind; extern char \(**optarg; \&\f3.\fP \&\f3.\fP \&\f3.\fP while ((c = getopt (argc, argv, "abf:o:")) != \s-1EOF\s+1) switch (c) { case \(fma\(fm: if (bflg) errflg++; else aflg++; break; case \(fmb\(fm: if (aflg) errflg++; else bproc( ); break; case \(fmf\(fm: ifile = optarg; break; case \(fmo\(fm: ofile = optarg; bufsiza = 512; break; case \(fm?\(fm: errflg++; } if (errflg) { fprintf (stderr, "usage: . . . "); exit (2); } for ( ; optind < argc; optind++) { if (access (argv[optind], 4)) { \&\f3.\fP \&\f3.\fP \&\f3.\fP } .ss 12 .fi .RE .\" @(#)getopt.3c 5.2 of 5/18/82