xref: /third_party/popt/tests/test3.c (revision 9f07849e)
1#include <errno.h>
2
3#include "system.h"
4
5int 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