changeset 2374:42e6f7811385 HEAD

LSUB sent LIST replies instead of LSUB.
author Timo Sirainen <tss@iki.fi>
date Tue, 27 Jul 2004 02:09:28 +0300
parents 9c830d1a4ebf
children faeb3d17579a
files src/imap/cmd-list.c
diffstat 1 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/cmd-list.c	Mon Jul 26 21:52:06 2004 +0300
+++ b/src/imap/cmd-list.c	Tue Jul 27 02:09:28 2004 +0300
@@ -79,7 +79,8 @@
 static int
 list_namespace_mailboxes(struct client *client, struct imap_match_glob *glob,
 			 struct namespace *ns, struct mailbox_list_context *ctx,
-			 int match_inbox, enum mailbox_list_flags list_flags)
+			 int lsub, int match_inbox,
+			 enum mailbox_list_flags list_flags)
 {
 	struct mailbox_list *list;
 	const char *name;
@@ -118,7 +119,7 @@
 		}
 
 		str_truncate(str, 0);
-		str_printfa(str, "* LIST (%s) \"%s\" ",
+		str_printfa(str, "* %s (%s) \"%s\" ", lsub ? "LSUB" : "LIST",
 			    mailbox_flags2str(list->flags, list_flags),
 			    ns->sep_str);
 		imap_quote_append_string(str, name, FALSE);
@@ -153,7 +154,7 @@
 }
 
 static int list_mailboxes(struct client *client,
-			  const char *ref, const char *mask,
+			  const char *ref, const char *mask, int lsub,
 			  enum mailbox_list_flags list_flags)
 {
 	struct namespace *ns;
@@ -258,7 +259,7 @@
 							     cur_ref, cur_mask,
 							     list_flags);
 			if (list_namespace_mailboxes(client, glob, ns, ctx,
-						     match_inbox,
+						     lsub, match_inbox,
 						     list_flags) < 0) {
 				client_send_storage_error(client, ns->storage);
 				t_pop();
@@ -323,7 +324,7 @@
 				"\" \"\"", NULL));
 		}
 	} else {
-		if (list_mailboxes(client, ref, mask, list_flags) < 0)
+		if (list_mailboxes(client, ref, mask, lsub, list_flags) < 0)
 			return TRUE;
 	}