• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <errno.h>
2 
3 #include "system.h"
4 
main(int argc,char ** argv)5 int main (int argc, char **argv) {
6     char *out;
7     int newargc, j, f, ret;
8     const char **newargv;
9     FILE *fp;
10 
11     if (argc == 1) {
12 	printf ("usage: test-popt file_1 file_2 ...\n");
13 	printf ("you may specify many files\n");
14 	exit (1);
15     }
16 
17     for (f = 1; f < argc; f++) {
18 	fp = fopen (argv[f], "r");
19 	if (fp == NULL) {
20 	    printf ("cannot read file %s.  errno=%s\n", argv[f],
21 		strerror(errno));
22 	    continue;
23 	}
24 
25 	ret = poptConfigFileToString (fp, &out, 0);
26 	if (ret != 0) {
27 	    printf ("cannot parse %s. ret=%d\n", argv[f], ret);
28 	    continue;
29 	}
30 
31 	printf ("single string: '%s'\n", out);
32 
33 	poptParseArgvString (out, &newargc, &newargv);
34 
35 	printf ("popt array: size=%d\n", newargc);
36 	for (j = 0; j < newargc; j++)
37 	    printf ("'%s'\n", newargv[j]);
38 
39 	printf ("\n");
40 	free(newargv);
41 	free(out);
42 	fclose (fp);
43     }
44     return 0;
45 }
46