changeset 1227:d35e8f84bf71 HEAD

Sync EXPUNGEs also with UID FETCH and UID STORE.
author Timo Sirainen <tss@iki.fi>
date Fri, 21 Feb 2003 20:13:14 +0200
parents c0783c50e47c
children 4e438a5c00d3
files src/imap/cmd-fetch.c src/imap/cmd-search.c src/imap/cmd-store.c
diffstat 3 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/cmd-fetch.c	Fri Feb 21 20:10:54 2003 +0200
+++ b/src/imap/cmd-fetch.c	Fri Feb 21 20:13:14 2003 +0200
@@ -351,8 +351,13 @@
 	ret = imap_fetch(client, fetch_data, imap_data,
 			 bodies, messageset, client->cmd_uid);
 	if (ret >= 0) {
-		if ((client_workarounds & WORKAROUND_OE6_FETCH_NO_NEWMAIL) == 0)
-			client_sync_without_expunges(client);
+		if ((client_workarounds &
+		     WORKAROUND_OE6_FETCH_NO_NEWMAIL) == 0) {
+			if (client->cmd_uid)
+				client_sync_full(client);
+			else
+				client_sync_without_expunges(client);
+		}
 
 		client_send_tagline(client, ret > 0 ? "OK Fetch completed." :
 			"NO Some of the requested messages no longer exist.");
--- a/src/imap/cmd-search.c	Fri Feb 21 20:10:54 2003 +0200
+++ b/src/imap/cmd-search.c	Fri Feb 21 20:13:14 2003 +0200
@@ -91,7 +91,6 @@
 		/* error in search arguments */
 		client_send_tagline(client, t_strconcat("NO ", error, NULL));
 	} else if (imap_search(client, charset, sargs)) {
-		/* NOTE: syncing is allowed when returning UIDs */
 		if (client->cmd_uid)
 			client_sync_full(client);
 		else
--- a/src/imap/cmd-store.c	Fri Feb 21 20:10:54 2003 +0200
+++ b/src/imap/cmd-store.c	Fri Feb 21 20:13:14 2003 +0200
@@ -74,8 +74,10 @@
 	if (client->mailbox->update_flags(client->mailbox, messageset,
 					  client->cmd_uid, &flags,
 					  modify_type, !silent, &all_found)) {
-		/* NOTE: syncing isn't allowed here */
-		client_sync_without_expunges(client);
+		if (client->cmd_uid)
+			client_sync_full(client);
+		else
+			client_sync_without_expunges(client);
 		client_send_tagline(client, all_found ? "OK Store completed." :
 				    "NO Some of the messages no longer exist.");
 	} else {