randy@umn-cs.cs.umn.edu (Randy Orrison) (04/06/88)
This was posted to comp.unix.questions (?) because someone sent the followup
there.  (why?  the discussion is here...)
I have an idea, though I have not coded nor tested it.
	int getopt (char ***argv, int *argc, char *format, ...);
(you may not want to call it getopt for obvious reasons).
The routine, when called, would pull one argument out of the command line
and return an error/status code.  For example:
	if (getopt (&argv, &argc, "-o %s", OutFile)) {
		process error return
	}
	if (getopt (&argv, &argc, "=O", &OptFlag)) {
		process error return
	}
	if (getopt (&argv, &argc, "=pascal", &PascalFlag))
	if (getopt (&argv, &argc, "-origin %d %d", &x, &y))
perhaps even
	while (!getopt (&argv, &argc, "%s.c", CFile[i++]))
		;
The routine would be stateless, could be written to handle any sort of
arguments you wanted, and would require the information to be present in
only one place.
I don't really have time to code this, but if someone would like me to write
up a simplified version to demonstrate, I could maybe do that.
	-randy
-- 
Randy Orrison, Control Data, Arden Hills, MN		randy@ux.acss.umn.edu
(Anyone got a Unix I can borrow?)   {ihnp4, seismo!rutgers, sun}!umn-cs!randy
Electrical Engineers do it with less resistance.