aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-03-07 15:55:25 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2011-03-07 15:55:25 +0200
commit24e67bf1f154d15ecf6e7bbf82cd4d5a909c25ee (patch)
treebb520f18e437d52a61efd9bcefa2acf59c1c4e01
parent44d4cecf1d056aa4a0633f3f139275518fcf3a67 (diff)
downloadsmap-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.c51
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();

Return to:

Send suggestions and report system problems to the System administrator.