changeset 302:20769b7516a2 HEAD

UNSUBSCRIBE wasn't working.
author Timo Sirainen <tss@iki.fi>
date Mon, 23 Sep 2002 19:57:58 +0300
parents 1d4d92c2e8c9
children 19108e7c5af2
files src/imap/cmd-append.c src/imap/cmd-copy.c src/imap/cmd-create.c src/imap/cmd-rename.c src/imap/cmd-subscribe.c src/imap/commands-util.c src/imap/commands-util.h
diffstat 7 files changed, 11 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/cmd-append.c	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/cmd-append.c	Mon Sep 23 19:57:58 2002 +0300
@@ -109,7 +109,7 @@
 		box = client->mailbox;
 	} else {
 		/* open the mailbox */
-		if (!client_verify_mailbox_name(client, mailbox, TRUE))
+		if (!client_verify_mailbox_name(client, mailbox, TRUE, FALSE))
 			return TRUE;
 
 		box = client->storage->open_mailbox(client->storage,
--- a/src/imap/cmd-copy.c	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/cmd-copy.c	Mon Sep 23 19:57:58 2002 +0300
@@ -12,11 +12,11 @@
 	if (!client_read_string_args(client, 2, &messageset, &mailbox))
 		return FALSE;
 
-	if (!client_verify_mailbox_name(client, mailbox, TRUE))
+	if (!client_verify_mailbox_name(client, mailbox, TRUE, FALSE))
 		return TRUE;
 
 	/* open the destination mailbox */
-	if (!client_verify_mailbox_name(client, mailbox, TRUE))
+	if (!client_verify_mailbox_name(client, mailbox, TRUE, FALSE))
 		return TRUE;
 
 	destbox = client->storage->open_mailbox(client->storage,
--- a/src/imap/cmd-create.c	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/cmd-create.c	Mon Sep 23 19:57:58 2002 +0300
@@ -11,7 +11,7 @@
 	if (!client_read_string_args(client, 1, &mailbox))
 		return FALSE;
 
-	if (!client_verify_mailbox_name(client, mailbox, FALSE))
+	if (!client_verify_mailbox_name(client, mailbox, FALSE, TRUE))
 		return TRUE;
 
 	if (mailbox[strlen(mailbox)-1] == client->storage->hierarchy_sep) {
--- a/src/imap/cmd-rename.c	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/cmd-rename.c	Mon Sep 23 19:57:58 2002 +0300
@@ -11,7 +11,7 @@
 	if (!client_read_string_args(client, 2, &oldname, &newname))
 		return FALSE;
 
-	if (!client_verify_mailbox_name(client, newname, FALSE))
+	if (!client_verify_mailbox_name(client, newname, FALSE, TRUE))
 		return TRUE;
 
 	if (client->storage->rename_mailbox(client->storage,
--- a/src/imap/cmd-subscribe.c	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/cmd-subscribe.c	Mon Sep 23 19:57:58 2002 +0300
@@ -11,7 +11,7 @@
 	if (!client_read_string_args(client, 1, &mailbox))
 		return FALSE;
 
-	if (!client_verify_mailbox_name(client, mailbox, subscribe))
+	if (!client_verify_mailbox_name(client, mailbox, subscribe, FALSE))
 		return TRUE;
 
 	if (client->storage->set_subscribed(client->storage,
--- a/src/imap/commands-util.c	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/commands-util.c	Mon Sep 23 19:57:58 2002 +0300
@@ -5,7 +5,7 @@
 #include "imap-util.h"
 
 int client_verify_mailbox_name(Client *client, const char *mailbox,
-			       int should_exist)
+			       int should_exist, int should_not_exist)
 {
 	MailboxNameStatus mailbox_status;
 	const char *p;
@@ -50,7 +50,7 @@
 		break;
 
 	case MAILBOX_NAME_EXISTS:
-		if (should_exist)
+		if (should_exist || !should_not_exist)
 			return TRUE;
 
 		client_send_tagline(client, "NO Mailbox exists.");
--- a/src/imap/commands-util.h	Mon Sep 23 19:41:09 2002 +0300
+++ b/src/imap/commands-util.h	Mon Sep 23 19:57:58 2002 +0300
@@ -5,10 +5,10 @@
    exists. If it doesn't exist but would be a valid mailbox name, the
    error message is prefixed with [TRYCREATE].
 
-   If should_exist is FALSE, this function returns TRUE if the mailbox
-   name is valid and doesn't exist. */
+   If should_exist is FALSE, the should_not_exist specifies if we should
+   return TRUE or FALSE if mailbox doesn't exist. */
 int client_verify_mailbox_name(Client *client, const char *mailbox,
-			       int should_exist);
+			       int should_exist, int should_not_exist);
 
 /* Returns TRUE if mailbox is selected. If not, sends "No mailbox selected"
    error message to client. */