diff src/lib-storage/index/maildir/maildir-sync.c @ 9017:0aa17f3e4a6d HEAD

Maildir: Handle uidlist errors better.
author Timo Sirainen <tss@iki.fi>
date Mon, 04 May 2009 16:42:43 -0400
parents cceea391d04d
children 0bb192fe0abd
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-sync.c	Mon May 04 14:28:31 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-sync.c	Mon May 04 16:42:43 2009 -0400
@@ -690,6 +690,7 @@
 	enum maildir_uidlist_sync_flags sync_flags;
 	enum maildir_uidlist_rec_flag flags;
 	bool new_changed, cur_changed, lock_failure;
+	const char *fname;
 	int ret;
 
 	*lost_files_r = FALSE;
@@ -852,8 +853,11 @@
 	}
 
 	if (find_uid != NULL && *find_uid != 0) {
-		if (maildir_uidlist_lookup_nosync(ctx->mbox->uidlist, *find_uid,
-						  &flags) == NULL) {
+		ret = maildir_uidlist_lookup_nosync(ctx->mbox->uidlist,
+						    *find_uid, &flags, &fname);
+		if (ret < 0)
+			return -1;
+		if (ret == 0) {
 			/* UID is expunged */
 			*find_uid = 0;
 		} else if ((flags & MAILDIR_UIDLIST_REC_FLAG_NONSYNCED) == 0) {