[comp.sources.d] v20i005: getopt.h - simple interface to getopt, Part01/01

peter@ficc.ferranti.com (Peter da Silva) (05/23/91)

In article <1991May22.033524.16372@sparky.IMD.Sterling.COM> dm@bloom-beacon.mit.edu@think (Dave Mankins) writes:
> Below is a macro package I wrote the second time I had to refer to the
> getopt(3) man page to remind myself how getopt() is used.  I think this
> simplifies the use of getopt tremendously.

Another reason to use parseargs instead (as if there was any need for more
reasons...).

BOOL killmeans = 0;
BOOL quiet = 0;
struct arglist *Files = NULL;

ARGDESC	ArgDesc[] =
{
	'q',	ARGOPT,		argBool,	__ &quiet,
		"quiet (Don't print headers)",
	'g',	ARGOPT,		argBool,	__ &killmeans,
		"GeoTRIM (don't display users below geometric mean)",
	' ',	ARGOPT|ARGLIST,	listStr,	__ &Files,
		"FILES (file containing acctusers output)",
	ENDOFARGS
};

main(argc, argv)
int argc;
char *argv[];
ARGDESC *ArgDesc;
{
	parseargs(argv, ArgDesc);

	...
}
-- 
Peter da Silva; Ferranti International Controls Corporation; +1 713 274 5180;
Sugar Land, TX  77487-5012;         `-_-' "Have you hugged your wolf, today?"