Lines Matching refs:context
2118 static int config_parse(server *srv, config_t *context, const char *source, const char *input, int … in config_parse() argument
2144 configparser(pParser, ret, token, context); in config_parse()
2146 } while (context->ok); in config_parse()
2148 if (ret != -1 && context->ok) { in config_parse()
2152 configparser(pParser, TK_EOL, token, context); in config_parse()
2154 if (context->ok) { in config_parse()
2155 configparser(pParser, 0, NULL, context); in config_parse()
2163 } else if (context->ok == 0) { in config_parse()
2175 static int config_parse_stdin(server *srv, config_t *context) { in config_parse_stdin() argument
2197 rc = dlen ? config_parse(srv, context, "-", b->ptr, (int)dlen) : 0; in config_parse_stdin()
2207 static int config_parse_file_stream(server *srv, config_t *context, const char *fn) { in config_parse_file_stream() argument
2218 rc = config_parse(srv, context, fn, data, (int)dlen); in config_parse_file_stream()
2225 int config_parse_file(server *srv, config_t *context, const char *fn) { in config_parse_file() argument
2236 if (buffer_is_blank(context->basedir) || in config_parse_file()
2242 buffer_copy_path_len2(filename, BUF_PTR_LEN(context->basedir), in config_parse_file()
2249 ret = config_parse_file_stream(srv, context, gl.gl_pathv[i]); in config_parse_file()
2288 int config_parse_cmd(server *srv, config_t *context, const char *cmd) { in config_parse_cmd() argument
2298 if (!buffer_is_blank(context->basedir)) { in config_parse_cmd()
2299 if (0 != chdir(context->basedir->ptr)) { in config_parse_cmd()
2301 "cannot change directory to %s", context->basedir->ptr); in config_parse_cmd()
2355 ret = config_parse(srv, context, cmd, BUF_PTR_LEN(out)); in config_parse_cmd()
2439 static void context_init(server *srv, config_t *context) { in context_init() argument
2440 context->srv = srv; in context_init()
2441 context->ok = 1; in context_init()
2442 context->configs_stack.data = NULL; in context_init()
2443 context->configs_stack.used = 0; in context_init()
2444 context->configs_stack.size = 0; in context_init()
2445 context->basedir = buffer_init(); in context_init()
2448 static void context_free(config_t *context) { in context_free() argument
2449 free(context->configs_stack.data); in context_free()
2450 buffer_free(context->basedir); in context_free()
2463 config_t context; in config_read() local
2468 context_init(srv, &context); in config_read()
2469 context.all_configs = srv->config_context; in config_read()
2477 buffer_copy_string_len(context.basedir, fn, pos - fn + 1); in config_read()
2484 force_assert(context.all_configs->used == 0); in config_read()
2485 dc->context_ndx = context.all_configs->used; in config_read()
2486 array_insert_unique(context.all_configs, (data_unset *)dc); in config_read()
2487 context.current = dc; in config_read()
2490 ? config_parse_file_stream(srv, &context, fn) in config_read()
2491 : config_parse_stdin(srv, &context); in config_read()
2494 force_assert(!(0 == ret && context.ok && 0 != context.configs_stack.used)); in config_read()
2495 context_free(&context); in config_read()