home *** CD-ROM | disk | FTP | other *** search
- *****Listing 2*****
-
- /* tcmdopts.c, c\lib\test
- * Test cmd_options routine
- */
- #include <stdio.h>
- #include "cmd_opts.h"
-
- main(argc, argv)
- int argc;
- char *argv[];
- {
- int cmd_errs, i;
- static char **barg, **darg;
- static struct options sw[] =
- {'a',0,NULL,
- 'b',0,&barg,
- 'c',1,NULL, /* generally useless */
- 'd',1,&darg,
- 0, 0,NULL};
-
- cmd_errs= cmd_options( & argc, argv, sw);
- if (sw[0].arg_flg > 0)
- printf("%d -a\n",sw[0].arg_flg);
- for (i= 0; i < sw[1].arg_flg; i++)
- printf("-b %s\n", barg[i]);
- if (sw[2].arg_flg > 0)
- printf("%d -c\n",sw[2].arg_flg);
- for (i= 0; i < sw[3].arg_flg; i++)
- printf("-d %s\n", darg[i]);
- puts("Unclaimed:");
- for (i= 1; i < argc; i++) /* argv[0] is still
- the command */
- printf(" %s",argv[i]);
- puts("\n");
- if (cmd_errs != 0)
- {
- printf("\7\ntcmdopts [-a] [-b<value>] -c -d<value> ...\n");
- printf("\n%d Command line options invalid\n", -cmd_errs);
- exit(1);
- }
- }
-