1/* Test cfg_include when called from a buffer 2 */ 3 4#include <string.h> 5#include "check_confuse.h" 6 7/* reuse suite_dup.c profile so that a.conf could be used for testing */ 8cfg_opt_t sec_opts[] = { 9 CFG_INT("a", 1, CFGF_NONE), 10 CFG_INT("b", 2, CFGF_NONE), 11 CFG_END() 12}; 13 14cfg_opt_t opts[] = { 15 CFG_SEC("sec", sec_opts, CFGF_MULTI | CFGF_TITLE), 16 CFG_FUNC("include", &cfg_include), 17 CFG_END() 18}; 19 20int 21main(void) 22{ 23 char *buf = "include (\"a.conf\")\n"; 24 cfg_t *cfg = cfg_init(opts, CFGF_NONE); 25 fail_unless(cfg); 26 fail_unless(cfg_parse_buf(cfg, buf) == CFG_SUCCESS); 27 fail_unless(cfg_size(cfg, "sec") == 1); 28 fail_unless(cfg_getint(cfg, "sec|a") == 5); 29 fail_unless(cfg_getint(cfg, "sec|b") == 2); 30 cfg_free(cfg); 31 32 return 0; 33} 34 35