ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / iniparser3.0b / test / iniexample.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 #ifndef _WIN32
6 #include <unistd.h>
7 #endif
8
9 #include "iniparser.h"
10
11 void create_example_ini_file(void);
12 int  parse_ini_file(char * ini_name);
13
14 int main(int argc, char * argv[])
15 {
16         int             status ;
17
18         if (argc<2) {
19                 create_example_ini_file();
20                 status = parse_ini_file("example.ini");
21         } else {
22                 status = parse_ini_file(argv[1]);
23         }
24         return status ;
25 }
26
27 void create_example_ini_file(void)
28 {
29         FILE    *       ini ;
30
31         ini = fopen("example.ini", "w");
32         fprintf(ini,
33     "#\n"
34     "# This is an example of ini file\n"
35     "#\n"
36     "\n"
37     "[Pizza]\n"
38     "\n"
39     "Ham       = yes ;\n"
40     "Mushrooms = TRUE ;\n"
41     "Capres    = 0 ;\n"
42     "Cheese    = Non ;\n"
43     "\n"
44     "\n"
45     "[Wine]\n"
46     "\n"
47     "Grape     = Cabernet Sauvignon ;\n"
48     "Year      = 1989 ;\n"
49     "Country   = Spain ;\n"
50     "Alcohol   = 12.5  ;\n"
51     "\n");
52         fclose(ini);
53 }
54
55
56 int parse_ini_file(char * ini_name)
57 {
58         dictionary      *       ini ;
59
60         /* Some temporary variables to hold query results */
61         int                             b ;
62         int                             i ;
63         double                  d ;
64         char            *       s ;
65
66         ini = iniparser_load(ini_name);
67         if (ini==NULL) {
68                 fprintf(stderr, "cannot parse file: %s\n", ini_name);
69                 return -1 ;
70         }
71         iniparser_dump(ini, stderr);
72
73         /* Get pizza attributes */
74         printf("Pizza:\n");
75
76         b = iniparser_getboolean(ini, "pizza:ham", -1);
77         printf("Ham:       [%d]\n", b);
78         b = iniparser_getboolean(ini, "pizza:mushrooms", -1);
79         printf("Mushrooms: [%d]\n", b);
80         b = iniparser_getboolean(ini, "pizza:capres", -1);
81         printf("Capres:    [%d]\n", b);
82         b = iniparser_getboolean(ini, "pizza:cheese", -1);
83         printf("Cheese:    [%d]\n", b);
84
85         /* Get wine attributes */
86         printf("Wine:\n");
87         s = iniparser_getstring(ini, "wine:grape", NULL);
88     printf("Grape:     [%s]\n", s ? s : "UNDEF");
89         
90     i = iniparser_getint(ini, "wine:year", -1);
91     printf("Year:      [%d]\n", i);
92
93         s = iniparser_getstring(ini, "wine:country", NULL);
94     printf("Country:   [%s]\n", s ? s : "UNDEF");
95         
96     d = iniparser_getdouble(ini, "wine:alcohol", -1.0);
97     printf("Alcohol:   [%g]\n", d);
98
99         iniparser_freedict(ini);
100         return 0 ;
101 }
102
103