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