1: #include "check_confuse.h"
2: #include <string.h>
3:
4: static cfg_t *create_config(void)
5: {
6: static cfg_opt_t sec_opts[] = {
7: CFG_INT("a", 1, CFGF_NONE),
8: CFG_INT("b", 2, CFGF_NONE),
9: CFG_END()
10: };
11:
12: cfg_opt_t opts[] = {
13: CFG_SEC("sec", sec_opts, CFGF_MULTI | CFGF_TITLE),
14: CFG_END()
15: };
16:
17: return cfg_init(opts, 0);
18: }
19:
20: int main(void)
21: {
22: cfg_t *acfg, *bcfg;
23: cfg_t *sec;
24:
25: acfg = create_config();
26: fail_unless(cfg_parse(acfg, SRC_DIR "/a.conf") == 0);
27:
28: bcfg = create_config();
29: fail_unless(cfg_parse(bcfg, SRC_DIR "/b.conf") == 0);
30:
31: sec = cfg_getnsec(acfg, "sec", 0);
32: fail_unless(sec != 0);
33: fail_unless(cfg_size(acfg, "sec") == 1);
34: fail_unless(strcmp(cfg_title(sec), "acfg") == 0);
35: fail_unless(cfg_getint(sec, "a") == 5);
36: fail_unless(cfg_getint(sec, "b") == 2);
37:
38: sec = cfg_getnsec(bcfg, "sec", 0);
39: fail_unless(sec != 0);
40: fail_unless(cfg_size(bcfg, "sec") == 1);
41: fail_unless(strcmp(cfg_title(sec), "bcfg") == 0);
42: fail_unless(cfg_getint(sec, "a") == 1);
43: fail_unless(cfg_getint(sec, "b") == 9);
44:
45: cfg_free(acfg);
46: cfg_free(bcfg);
47:
48: return 0;
49: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>