s3: Allow pam_winbind.c to build without localedir.c
[Samba/ekacnet.git] / source3 / iniparser / test / iniexample.c
blob5e8e71cdf008a6c9b2bfabdf8e930dd728ed7e59
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <unistd.h>
6 #include "iniparser.h"
8 void create_example_ini_file(void);
9 int parse_ini_file(char * ini_name);
11 int main(int argc, char * argv[])
13 int status ;
15 if (argc<2) {
16 create_example_ini_file();
17 status = parse_ini_file("example.ini");
18 } else {
19 status = parse_ini_file(argv[1]);
21 return status ;
24 void create_example_ini_file(void)
26 FILE * ini ;
28 ini = fopen("example.ini", "w");
29 fprintf(ini, "\n\
30 #\n\
31 # This is an example of ini file\n\
32 #\n\
33 \n\
34 [Pizza]\n\
35 \n\
36 Ham = yes ;\n\
37 Mushrooms = TRUE ;\n\
38 Capres = 0 ;\n\
39 Cheese = NO ;\n\
40 \n\
41 \n\
42 [Wine]\n\
43 \n\
44 Grape = Cabernet Sauvignon ;\n\
45 Year = 1989 ;\n\
46 Country = Spain ;\n\
47 Alcohol = 12.5 ;\n\
48 \n\
49 #\n\
50 # end of file\n\
51 #\n");
53 fclose(ini);
57 int parse_ini_file(char * ini_name)
59 dictionary * ini ;
61 /* Some temporary variables to hold query results */
62 int b ;
63 int i ;
64 double d ;
65 char * s ;
67 ini = iniparser_load(ini_name);
68 if (ini==NULL) {
69 fprintf(stderr, "cannot parse file [%s]", ini_name);
70 return -1 ;
72 iniparser_dump(ini, stderr);
74 /* Get pizza attributes */
75 printf("Pizza:\n");
77 b = iniparser_getboolean(ini, "pizza:ham", -1);
78 printf("Ham: [%d]\n", b);
79 b = iniparser_getboolean(ini, "pizza:mushrooms", -1);
80 printf("Mushrooms: [%d]\n", b);
81 b = iniparser_getboolean(ini, "pizza:capres", -1);
82 printf("Capres: [%d]\n", b);
83 b = iniparser_getboolean(ini, "pizza:cheese", -1);
84 printf("Cheese: [%d]\n", b);
86 /* Get wine attributes */
87 printf("Wine:\n");
88 s = iniparser_getstr(ini, "wine:grape");
89 if (s) {
90 printf("grape: [%s]\n", s);
91 } else {
92 printf("grape: not found\n");
94 i = iniparser_getint(ini, "wine:year", -1);
95 if (i>0) {
96 printf("year: [%d]\n", i);
97 } else {
98 printf("year: not found\n");
100 s = iniparser_getstr(ini, "wine:country");
101 if (s) {
102 printf("country: [%s]\n", s);
103 } else {
104 printf("country: not found\n");
106 d = iniparser_getdouble(ini, "wine:alcohol", -1.0);
107 if (d>0.0) {
108 printf("alcohol: [%g]\n", d);
109 } else {
110 printf("alcohol: not found\n");
113 iniparser_freedict(ini);
114 return 0 ;