dovecot-2.1: doveadm mailbox list without pattern shows now all ...

dovecot at dovecot.org dovecot at dovecot.org
Thu Feb 9 03:57:05 EET 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/b600af017598
changeset: 14090:b600af017598
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Feb 09 03:56:50 2012 +0200
description:
doveadm mailbox list without pattern shows now all shared and public mailboxes also.
doveadm mailbox list '*' shows only the one matching namespace.

diffstat:

 src/doveadm/doveadm-mail-list-iter.c |  26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diffs (53 lines):

diff -r 6881d8c59d9f -r b600af017598 src/doveadm/doveadm-mail-list-iter.c
--- a/src/doveadm/doveadm-mail-list-iter.c	Thu Feb 09 03:44:09 2012 +0200
+++ b/src/doveadm/doveadm-mail-list-iter.c	Thu Feb 09 03:56:50 2012 +0200
@@ -55,15 +55,15 @@
 	return 1;
 }
 
-struct doveadm_mail_list_iter *
-doveadm_mail_list_iter_init(struct mail_user *user,
-			    struct mail_search_args *search_args,
-			    enum mailbox_list_iter_flags iter_flags)
+static struct doveadm_mail_list_iter *
+doveadm_mail_list_iter_init_nsmask(struct mail_user *user,
+				   struct mail_search_args *search_args,
+				   enum mailbox_list_iter_flags iter_flags,
+				   enum namespace_type ns_mask)
 {
 	static const char *all_pattern = "*";
 	struct doveadm_mail_list_iter *iter;
 	ARRAY_TYPE(const_string) patterns;
-	enum namespace_type ns_mask = NAMESPACE_PRIVATE;
 	bool have_guid = FALSE;
 
 	iter = i_new(struct doveadm_mail_list_iter, 1);
@@ -92,13 +92,27 @@
 }
 
 struct doveadm_mail_list_iter *
+doveadm_mail_list_iter_init(struct mail_user *user,
+			    struct mail_search_args *search_args,
+			    enum mailbox_list_iter_flags iter_flags)
+{
+	enum namespace_type ns_mask = NAMESPACE_PRIVATE;
+
+	return doveadm_mail_list_iter_init_nsmask(user, search_args,
+						  iter_flags, ns_mask);
+}
+
+struct doveadm_mail_list_iter *
 doveadm_mail_list_iter_full_init(struct mail_user *user,
 				 struct mail_search_args *search_args,
 				 enum mailbox_list_iter_flags iter_flags)
 {
+	enum namespace_type ns_mask =
+		NAMESPACE_PRIVATE | NAMESPACE_SHARED | NAMESPACE_PUBLIC;
 	struct doveadm_mail_list_iter *iter;
 
-	iter = doveadm_mail_list_iter_init(user, search_args, iter_flags);
+	iter = doveadm_mail_list_iter_init_nsmask(user, search_args,
+						  iter_flags, ns_mask);
 	iter->only_selectable = FALSE;
 	return iter;
 }


More information about the dovecot-cvs mailing list