summaryrefslogtreecommitdiff
path: root/sieve
diff options
context:
space:
mode:
authorWojciech Polak <polak@gnu.org>2003-09-05 11:43:48 +0000
committerWojciech Polak <polak@gnu.org>2003-09-05 11:43:48 +0000
commitd0dca5ed5bbb55713faf157a4259a85a4b6c3527 (patch)
treed24e64310f20a20d4b41862206c8c485bd1ca5de /sieve
parentaabcab593f3cead42f4d6a9d113bb9c6245780d7 (diff)
downloadmailutils-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.c37
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);
}

Return to:

Send suggestions and report system problems to the System administrator.