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