home *** CD-ROM | disk | FTP | other *** search
- #include <useful.h>
- #include <parseargs.h>
-
- VERSIONID("$Header: stest.c,v 2.0 89/12/24 00:56:29 eric Exp $");
-
- /*
- ** STEST -- a simple test program for the argument parser
- **
- ** Author:
- ** Eric Allman
- ** University of California, Berkeley
- */
-
- int RepCount;
- char *Name;
- char *DirName = ".";
- BOOL XFlag = FALSE;
- BOOL YFlag = FALSE;
- BOOL ZFlag = FALSE;
- char TabChar = ':';
- struct arglist *Argv = NULL;
- struct arglist *Groups = NULL;
-
- ARGDESC Args[] =
- {
- ' ', ARGREQ, argStr, __ &Name, "Name",
- 'n', ARGOPT|ARGLIST, listStr, __ &Groups, "newsGROUP",
- 'c', ARGOPT, argInt, __ &RepCount, "REPcount",
- 'd', ARGOPT, argStr, __ &DirName, "DIRname",
- 'x', ARGOPT, argBool, __ &XFlag, "Xflag",
- 'y', ARGOPT, argBool, __ &YFlag, "Yflag",
- 'z', ARGOPT, argBool, __ &ZFlag, "Zflag",
- 't', ARGOPT, argChar, __ &TabChar, "TABchar",
- ' ', ARGOPT|ARGLIST, listStr, __ &Argv, "File",
- ENDOFARGS
- };
-
- main(argc, argv)
- int argc;
- char **argv;
- {
- parseargs(argv, Args);
-
- printf("Name = \"%s\", DirName = \"%s\", RepCount = %d,\n",
- Name, DirName, RepCount);
- printf("XFlag = %d, YFlag = %d, ZFlag = %d, TabChar=%03o;\n",
- XFlag, YFlag, ZFlag, TabChar);
-
- if(Groups) {
- printf("Newsgroups: ");
- while(Groups) {
- printf("%s", L_STRING(Groups));
- Groups = L_NEXT(Groups);
- if(Groups)
- putchar(' ');
- else
- putchar('\n');
- }
- }
-
- if(Argv) {
- printf("Remaining args: ");
- while(Argv) {
- printf("%s", L_STRING(Argv));
- Argv = L_NEXT(Argv);
- if(Argv)
- putchar(' ');
- else
- putchar('\n');
- }
- }
- exit(0);
- }
-