diff options
author | Wojciech Polak <polak@gnu.org> | 2003-09-05 11:43:48 +0000 |
---|---|---|
committer | Wojciech Polak <polak@gnu.org> | 2003-09-05 11:43:48 +0000 |
commit | d0dca5ed5bbb55713faf157a4259a85a4b6c3527 (patch) | |
tree | d24e64310f20a20d4b41862206c8c485bd1ca5de /sieve | |
parent | aabcab593f3cead42f4d6a9d113bb9c6245780d7 (diff) | |
download | mailutils-d0dca5ed5bbb55713faf157a4259a85a4b6c3527.tar.gz mailutils-d0dca5ed5bbb55713faf157a4259a85a4b6c3527.tar.bz2 |
(tickets_default): New variable.
(main): Check the tickets_default.
Diffstat (limited to 'sieve')
-rw-r--r-- | sieve/sieve.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/sieve/sieve.c b/sieve/sieve.c index 4ea783660..aaf52c890 100644 --- a/sieve/sieve.c +++ b/sieve/sieve.c @@ -1,3 +1,3 @@ /* GNU Mailutils -- a suite of utilities for electronic mail - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. @@ -99,2 +99,3 @@ struct options { char *tickets; + int tickets_default; int debug_level; @@ -115,3 +116,6 @@ parser (int key, char *arg, struct argp_state *state) if (!opts->tickets) - opts->tickets = mu_tilde_expansion ("~/.tickets", "/", NULL); + { + opts->tickets = mu_tilde_expansion ("~/.tickets", "/", NULL); + opts->tickets_default = 1; + } if (!opts->debug_level) @@ -152,2 +156,3 @@ parser (int key, char *arg, struct argp_state *state) opts->tickets = mu_tilde_expansion (arg, "/", NULL); + opts->tickets_default = 0; break; @@ -369,14 +374,18 @@ main (int argc, char *argv[]) { - if ((rc = wicket_create (&wicket, opts.tickets)) != 0) - { - mu_error (_("wicket_create <%s> failed: %s"), - opts.tickets, mu_strerror (rc)); - goto cleanup; - } - if ((rc = wicket_get_ticket (wicket, &ticket, 0, 0)) != 0) - { - mu_error (_("ticket_get failed: %s"), mu_strerror (rc)); - goto cleanup; - } - sieve_set_ticket (mach, ticket); + if ((rc = wicket_create (&wicket, opts.tickets)) == 0) + { + if ((rc = wicket_get_ticket (wicket, &ticket, 0, 0)) != 0) + { + mu_error (_("ticket_get failed: %s"), mu_strerror (rc)); + goto cleanup; + } + } + else if (!(opts.tickets_default && errno == ENOENT)) + { + mu_error (_("wicket_create <%s> failed: %s"), + opts.tickets, mu_strerror (rc)); + goto cleanup; + } + if (ticket) + sieve_set_ticket (mach, ticket); } |