Improve configuration parsing (step 1).
Remove obsolete options (these have been made hidden in v. 2.0). Handle "include" and "program" after parsing the sources, not while reducing the tree, as was previously. Retain, however, old functions for compatibility, making them deprecated. Add "query" mode to mailutils-config. * include/mailutils/cfg.h (mu_cfg_node_tag): Remove (mu_cfg_statement): Rename to mu_cfg_node_statement. (mu_cfg_tree): New member: tail. (mu_cfg_perror): Change signature. (mu_cfg_vperror, mu_cfg_parse_error): New protos. (MU_CFG_PATH_DELIM, MU_CFG_PATH_DELIM_STR): New defines. (MU_PARSE_CONFIG_PLAIN,MU_CFG_FMT_LOCUS): New constant. (MU_CFG_DEPRECATED): New macro. (mu_parse_config,mu_get_config): Deprecated. (mu_cfg_format_parse_tree): Change signature. (mu_cfg_format_node, mu_cfg_parse_file): New protos. (mu_cfg_tree_free): Remove stale proto. (mu_cfg_find_node, mu_cfg_create_subtree): New protos. * include/mailutils/libcfg.h (mu_libcfg_parse_config): New proto. (mu_parse_config_files): Deprecated. * include/mailutils/mutil.h (mu_make_file_name): New proto. (mu_retrieve_fp, mu_register_retriever) (mu_retrieve): Remove unused prototypes. * include/mailutils/opool.h (mu_opool_union): New proto. * libmu_argp/Makefile.am (libmu_argp_a_SOURCES): Remove sources (see below): * po/POTFILES.in: Likewise. * libmu_argp/gsasl.c: Remove. * libmu_argp/pam.c: Remove. * libmu_argp/radius.c: Remove. * libmu_argp/sql.c: Remove. * libmu_argp/tls.c: Remove. * libmu_argp/virtdomain.c: Remove. * config/mailutils-config.c: New option --query (-q) (main): Handle query mode. * comsat/comsat.c: Define MU_CFG_COMPATIBILITY to suppress deprecation warnings. * bootstrap.conf (XGETTEXT_OPTIONS): Add mu_cfg error reporting functions. * mailbox/Makefile.am (libmailutils_la_SOURCES): Add mkfilename.c * mailbox/mkfilename.c: New file. * imap4d/imap4d.c: Remove obsolete option (hidden since 2.0) * libmu_argp/auth.c: Likewise. * libmu_argp/cmdline.c: Likewise. * libmu_argp/tls.c: Likewise. * pop3d/pop3d.c: Likewise. * libmu_argp/common.c: Likewise. (mu_common_argp_options): New option --set. * libmu_argp/muinit.c (mu_app_init): Rewrite using parse tree as a principal entity. * libmu_cfg/init.c (mu_libcfg_parse_config): New function. * mailbox/cfg_driver.c (make_file_name): Remove. (_cb_include): Use mu_make_file_name. (mu_build_container): Use deprecated code only unless MU_PARSE_CONFIG_PLAIN flag is set. (mu_cfg_tree_reduce): Do nothing if the tree is NULL. * mailbox/cfg_format.c (format_node): Print locus optionally. (mu_cfg_format_parse_tree): Take additional argument. (mu_cfg_format_node): New function. * mailbox/cfg_lexer.l: Update calls to diagnostic functions. (mu_cfg_parse_file): New function. (mu_get_config): Rewrite. * mailbox/cfg_parser.y (parse_tree): Replace with parse_head, parse_tail. All usages updated. (mu_cfg_free_node): New function. (mu_cfg_vperror): New function. (mu_cfg_perror,mu_cfg_parse_error): New function. (mu_cfg_tree_union): New function. (mu_cfg_tree_postprocess): New function. (mu_cfg_find_section): Use MU_CFG_PATH_DELIM instead of hardcoded slash. (mu_cfg_value_eq): New function. (mu_cfg_find_node): New function. Redesign of an old idea. (mu_cfg_create_subtree): New function. * mailbox/opool.c (mu_opool_union): New function. * frm/testsuite/frm/test.exp: use --set option instead of the obsolete --mail-folder. * messages/testsuite/messages/test.exp: Likewise. * sieve/testsuite/sieve/action.exp: Likewise. * mail/testsuite/lib/mail.exp: use --set option instead of the obsolete --mail-spool. * mailbox/testsuite/lib/mailbox.exp: Likewise. * testsuite/lib/mailutils.exp: Likewise. * mailbox/mutil.c (mu_register_retriever) (mu_retrieve): Remove unused functions. Minor fix: * frm/common.c (frm_abort): Initialize URL before usage. (frm_scan): Don't call frm_abort on a mailbox that was not opened successfully.
Showing
37 changed files
with
410 additions
and
981 deletions
libmu_argp/gsasl.c
deleted
100644 → 0
libmu_argp/pam.c
deleted
100644 → 0
libmu_argp/radius.c
deleted
100644 → 0
libmu_argp/sql.c
deleted
100644 → 0
libmu_argp/virtdomain.c
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
mailbox/mkfilename.c
0 → 100644
-
Please register or sign in to post a comment