From e5894bdf0451b622663c44283492a2b493694aa7 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Sun, 1 Feb 2004 16:27:28 +0000 Subject: [PATCH] once again: (slightly) better output. make maildir flag setting failure non-fatal. maildir sucks ... --- src/main.c | 6 +++--- src/sync.c | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main.c b/src/main.c index c8fad62..17a0fe6 100644 --- a/src/main.c +++ b/src/main.c @@ -118,7 +118,7 @@ usage (int code) fputs ( PACKAGE " " VERSION " IMAP4 to maildir synchronizer\n" "Copyright (C) 2000-2002 Michael R. Elkins \n" -"Copyright (C) 2002-2003 Oswald Buddenhagen \n" +"Copyright (C) 2002-2004 Oswald Buddenhagen \n" "usage:\n" " " PACKAGE " [ flags ] mailbox [mailbox ...]\n" " " PACKAGE " [ flags ] -a\n" @@ -322,8 +322,8 @@ main (int argc, char **argv) if (!argv[optind] && !all) { - fprintf (stderr, "No mailbox specified"); - usage (1); + fprintf (stderr, "No mailbox specified. Try isync -h\n"); + return 1; } gethostname (Hostname, sizeof (Hostname)); diff --git a/src/sync.c b/src/sync.c index 5126b04..2ee00b2 100644 --- a/src/sync.c +++ b/src/sync.c @@ -155,6 +155,8 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags, fd = open (path, O_RDONLY); if (fd == -1) { + /* This can happen if the message was simply deleted (ok) + or the flags changed (not ok - maildir sucks). */ fprintf (stderr, "Error, unable to open %s: %s (errno %d)\n", path, strerror (errno), errno); continue; @@ -247,8 +249,7 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags, if (rename (path, newpath)) { - perror ("rename"); - return -1; + perror ("Warning: cannot set flags on message"); } else { @@ -264,9 +265,6 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags, if (upload) info (" %d messages.\n", upload); - info ("Fetching new messages..."); - fflush (stdout); - if (max_msgs == 0) max_msgs = UINT_MAX; else @@ -351,6 +349,8 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags, continue; /* give some visual feedback that something is happening */ + if (!fetched) + info ("Fetching new messages"); infoc ('.'); fflush (stdout); fetched++; @@ -390,7 +390,8 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags, } } - info (" %d messages\n", fetched); + if (fetched) + info (" %d messages\n", fetched); if (maildir_update_maxuid (mbox)) return -1;