diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-03-07 15:55:25 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-03-07 15:55:25 +0200 |
commit | 24e67bf1f154d15ecf6e7bbf82cd4d5a909c25ee (patch) | |
tree | bb520f18e437d52a61efd9bcefa2acf59c1c4e01 | |
parent | 44d4cecf1d056aa4a0633f3f139275518fcf3a67 (diff) | |
download | smap-24e67bf1f154d15ecf6e7bbf82cd4d5a909c25ee.tar.gz smap-24e67bf1f154d15ecf6e7bbf82cd4d5a909c25ee.tar.bz2 |
Sync with MU commit 4bcd5c9de0cb6ca85bcc3a35b1518739b939b009.
* modules/mailutils/mailutils.c (create_log_stream): Use new
config API.
-rw-r--r-- | modules/mailutils/mailutils.c | 51 |
1 files changed, 30 insertions, 21 deletions
diff --git a/modules/mailutils/mailutils.c b/modules/mailutils/mailutils.c index c75f9cd..b838317 100644 --- a/modules/mailutils/mailutils.c +++ b/modules/mailutils/mailutils.c @@ -562,2 +562,11 @@ create_log_stream (mu_stream_t *pstream) +static void +init_hints(struct mu_cfg_parse_hints *hints) +{ + hints->flags |= MU_PARSE_CONFIG_PLAIN | + MU_CFG_PARSE_SITE_RCFILE | MU_CFG_PARSE_PROGRAM; + hints->site_rcfile = mu_site_rcfile; + hints->program = (char*) mu_program_name; +} + static int @@ -567,3 +576,3 @@ mod_mailutils_init(int argc, char **argv) struct mu_cfg_tree *parse_tree = NULL; - int cfgflags = MU_PARSE_CONFIG_PLAIN; + struct mu_cfg_parse_hints hints = { 0 }; mu_stream_t logstr; @@ -578,5 +587,5 @@ mod_mailutils_init(int argc, char **argv) { SMAP_OPTSTR(config-verbose), smap_opt_bitmask, - &cfgflags, { MU_PARSE_CONFIG_VERBOSE } }, + &hints.flags, { MU_PARSE_CONFIG_VERBOSE } }, { SMAP_OPTSTR(config-dump), smap_opt_bitmask, - &cfgflags, { MU_PARSE_CONFIG_DUMP } }, + &hints.flags, { MU_PARSE_CONFIG_DUMP } }, { NULL } @@ -595,6 +604,4 @@ mod_mailutils_init(int argc, char **argv) return 1; - if (cfgflags & MU_PARSE_CONFIG_VERBOSE) - mu_cfg_parser_verbose++; - if (cfgflags & MU_PARSE_CONFIG_DUMP) - mu_cfg_parser_verbose++; + + init_hints(&hints); @@ -607,6 +614,5 @@ mod_mailutils_init(int argc, char **argv) - rc = mu_libcfg_parse_config(&parse_tree); + rc = mu_cfg_parse_config(&parse_tree, &hints); if (rc == 0) - rc = mu_cfg_tree_reduce(parse_tree, mu_program_name, - cfg_param, cfgflags, NULL); + rc = mu_cfg_tree_reduce(parse_tree, &hints, cfg_param, NULL); mu_gocs_flush(); @@ -615,2 +621,4 @@ mod_mailutils_init(int argc, char **argv) mu_strerr = logstr; + mu_cfg_destroy_tree(&parse_tree); + return !!(rc || mu_cfg_error_count); @@ -689,2 +697,3 @@ mod_mailutils_open(smap_database_t dbp) if (db->config_file) { + struct mu_cfg_parse_hints hints = { db->config_flags }; mu_cfg_tree_t *tree = NULL; @@ -692,2 +701,3 @@ mod_mailutils_open(smap_database_t dbp) + init_hints(&hints); if (init_cfg_capa()) @@ -695,5 +705,11 @@ mod_mailutils_open(smap_database_t dbp) + mu_cfg_error_count = 0; + mu_cfg_parser_verbose = 0; + if (db->config_flags & MU_PARSE_CONFIG_VERBOSE) + mu_cfg_parser_verbose++; + if (db->config_flags & MU_PARSE_CONFIG_DUMP) + mu_cfg_parser_verbose++; rc = mu_cfg_parse_file(&tree, db->config_file, - db->config_flags); - + db->config_flags); + if (rc) { @@ -704,12 +720,5 @@ mod_mailutils_open(smap_database_t dbp) - mu_cfg_error_count = 0; - mu_cfg_parser_verbose = 0; - if (db->config_flags & MU_PARSE_CONFIG_VERBOSE) - mu_cfg_parser_verbose++; - if (db->config_flags & MU_PARSE_CONFIG_DUMP) - mu_cfg_parser_verbose++; - mu_cfg_tree_postprocess(tree, db->config_flags); + mu_cfg_tree_postprocess(tree, &hints); - rc = mu_cfg_tree_reduce(tree, mu_program_name, cfg_param, - db->config_flags, NULL); + rc = mu_cfg_tree_reduce(tree, &hints, cfg_param, NULL); mu_gocs_flush(); |