diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-12-03 20:43:04 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-12-03 20:43:04 +0000 |
commit | c57171ac85329c8baad86a7e4221ebeef2df0804 (patch) | |
tree | 28c9f41649987cd286c76a55bed27aa77f783b97 /dotlock | |
parent | 0112e3c07a2b8fcfb642ace4b880575f86fcf933 (diff) | |
download | mailutils-c57171ac85329c8baad86a7e4221ebeef2df0804.tar.gz mailutils-c57171ac85329c8baad86a7e4221ebeef2df0804.tar.bz2 |
* auth/virtual.c (site_virtual_pwddir): Replace with global
struct mu_gocs_virtual mu_virtual_module_config
* include/mailutils/cfg.h (MU_PARSE_CONFIG_GLOBAL)
(MU_PARSE_CONFIG_VERBOSE, MU_PARSE_CONFIG_DUMP): New defines.
(mu_cfg_tree_create,mu_cfg_tree_set_debug,mu_cfg_tree_set_alloc)
(mu_cfg_tree_alloc,mu_cfg_tree_free)
(mu_cfg_tree_create_node,mu_cfg_tree_add_node): New functions.
* include/mailutils/gocs.h (struct mu_gocs_virtual): New data
type.
* include/mailutils/libargp.h (struct mu_argp_node_list): New data
type.
(mu_argp_node_list_init, mu_argp_node_list_add)
(mu_argp_node_list_new, mu_argp_node_list_finish): New functions.
* libargp/cmdline.h: New header.
* libargp/Makefile.am (libmuargp_a_SOURCES): Add cmdline.h.
* dotlock/dotlock.c, imap4d/imap4d.c, libargp/auth.c,
libargp/cmdline.c, libargp/common.c, libargp/compat.c,
libargp/gsasl.c, libargp/mu_argp.c, libargp/muinit.c,
libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c,
libargp/tls.c, libargp/virtdomain.c, libcfg/common.c,
libcfg/init.c, libcfg/virtdomain.c, maidag/maidag.c,
mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c,
movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
sieve/sieve.c: Change option parsing, usig mu_cfg_tree_ functions.
* mailbox/argcv.c: Fix a typo in comment.
* mailbox/cfg_lexer.c (mu_parse_config_tree): New function.
(_mu_parse_config): Rewrite using mu_parse_config_tree.
* mailbox/cfg_parser.y (mu_cfg_format_error,_mu_cfg_vperror)
(debug_print_node): Use default diag debug_t object, if the passed
one is NULL. Reset locus after formatting.
(mu_cfg_postorder): Return immediately if node == NULL.
(mu_cfg_tree_create,mu_cfg_tree_set_debug,mu_cfg_tree_set_alloc)
(mu_cfg_tree_alloc,mu_cfg_tree_free,mu_cfg_tree_create_node)
(mu_cfg_tree_add_node): New functions.
* mailbox/gocs.c (mu_gocs_store): Make sure no capa/data tuple
gets registered twice.
Diffstat (limited to 'dotlock')
-rw-r--r-- | dotlock/dotlock.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/dotlock/dotlock.c b/dotlock/dotlock.c index b6abf2efb..c38282f57 100644 --- a/dotlock/dotlock.c +++ b/dotlock/dotlock.c @@ -77,10 +77,12 @@ static int debug; static error_t parse_opt (int key, char *arg, struct argp_state *state) { + static struct mu_argp_node_list lst; + switch (key) { case 'd': - debug = 1; + mu_argp_node_list_new (&lst, "debug", "yes"); break; case 'u': @@ -89,21 +91,11 @@ parse_opt (int key, char *arg, struct argp_state *state) case 'r': if (arg) - { - retries = atoi (arg); - if (retries <= 0) - argp_error (state, _("RETRIES must be greater than 0")); - } - flags |= MU_LOCKER_RETRY; + mu_argp_node_list_new (&lst, "retry", arg); break; case 'f': - if (arg) - { - force = atoi (arg); - if (force <= 0) - argp_error (state, _("MINUTES must be greater than 0")); - } + mu_argp_node_list_new (&lst, "force", arg ? arg : "0"); break; case ARGP_KEY_ARG: @@ -115,6 +107,14 @@ parse_opt (int key, char *arg, struct argp_state *state) case ARGP_KEY_NO_ARGS: argp_error (state, _("FILE must be specified")); + case ARGP_KEY_INIT: + mu_argp_node_list_init (&lst); + break; + + case ARGP_KEY_FINI: + mu_argp_node_list_finish (&lst, NULL, NULL); + break; + default: return ARGP_ERR_UNKNOWN; } @@ -166,6 +166,9 @@ main (int argc, char *argv[]) force *= 60; flags |= MU_LOCKER_TIME; } + + if (retries != 0) + flags |= MU_LOCKER_RETRY; if ((err = mu_locker_create (&locker, file, flags))) { |