diff src/imap/cmd-close.c @ 559:c834e77b624c HEAD

Mostly mbox locking/syncing fixes. Still some problems though.
author Timo Sirainen <tss@iki.fi>
date Sat, 02 Nov 2002 22:10:20 +0200
parents 925d6eb5f8be
children 39e0b536e708
line wrap: on
line diff
--- a/src/imap/cmd-close.c	Fri Nov 01 18:02:23 2002 +0200
+++ b/src/imap/cmd-close.c	Sat Nov 02 22:10:20 2002 +0200
@@ -3,19 +3,23 @@
 #include "common.h"
 #include "commands.h"
 
+static void client_send_untagged_storage_error(Client *client)
+{
+	client_send_line(client, t_strconcat("* NO ",
+		client->storage->get_last_error(client->storage), NULL));
+}
+
 int cmd_close(Client *client)
 {
 	if (!client_verify_open_mailbox(client))
 		return TRUE;
 
-	if (!client->mailbox->expunge(client->mailbox, FALSE)) {
-		/* just warn about the error */
-		client_send_tagline(client, t_strconcat("* NO ",
-			client->storage->get_last_error(client->storage),
-			NULL));
-	}
+	if (!client->mailbox->expunge(client->mailbox, FALSE))
+                client_send_untagged_storage_error(client);
 
-	client->mailbox->close(client->mailbox);
+	if (!client->mailbox->close(client->mailbox))
+                client_send_untagged_storage_error(client);
+
 	client->mailbox = NULL;
 
 	client_send_tagline(client, "OK Close completed.");