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