cmd-unselect.c revision e59faf65ce864fe95dc00f5d52b8323cdbd0608a
/* Copyright (c) 2002-2010 Dovecot authors, see the included COPYING file */
#include "imap-common.h"
#include "imap-commands.h"
bool cmd_unselect(struct client_command_context *cmd)
{
struct client *client = cmd->client;
struct mailbox *mailbox = client->mailbox;
struct mail_storage *storage;
if (!client_verify_open_mailbox(cmd))
return TRUE;
client_search_updates_free(client);
i_assert(client->mailbox_change_lock == NULL);
client->mailbox = NULL;
storage = mailbox_get_storage(mailbox);
mailbox_close(&mailbox);
client_update_mailbox_flags(client, NULL);
client_send_tagline(cmd, "OK Unselect completed.");
return TRUE;
}