Mercurial > dovecot > core-2.2
view src/config/main.c @ 9002:9d0037a997f4 HEAD
Initial commit for config rewrite.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 27 Jan 2009 18:21:53 -0500 |
parents | |
children | 8b616cc6d848 |
line wrap: on
line source
/* Copyright (C) 2005-2008 Timo Sirainen */ #include "common.h" #include "lib-signals.h" #include "ioloop.h" #include "str.h" #include "config-connection.h" #include "config-parser.h" #include <stdlib.h> #include <unistd.h> string_t *config_string; pool_t parsers_pool; static const char *config_path = SYSCONFDIR "/" PACKAGE ".conf"; static void main_init(const char *service) { i_set_failure_internal(); parsers_pool = pool_alloconly_create("parent parsers", 2048); config_parsers_fix_parents(parsers_pool); config_string = str_new(default_pool, 10240); config_parse_file(config_string, config_path, service); str_append_c(config_string, '\n'); } int main(int argc, char *argv[]) { struct ioloop *ioloop; const char *path, *service = ""; bool dump_nondefaults = FALSE, human_readable = FALSE; int c; lib_init(); path = getenv("CONFIG_FILE_PATH"); if (path != NULL) config_path = path; while ((c = getopt(argc, argv, "c:s:na")) > 0) { switch (c) { case 'c': config_path = optarg; break; case 's': service = optarg; break; case 'n': dump_nondefaults = TRUE; /* fall through */ case 'a': /* FIXME: make it work */ human_readable = TRUE; break; default: i_fatal("Unknown parameter: %c", c); } } main_init(service); ioloop = io_loop_create(); config_connection_dump_request(STDOUT_FILENO, "master"); io_loop_destroy(&ioloop); lib_deinit(); return 0; }