dovecot-1.2: Added mailbox_backends_equal().

dovecot at dovecot.org dovecot at dovecot.org
Fri Jul 24 23:02:08 EEST 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/72f159e0aaa6
changeset: 9237:72f159e0aaa6
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Jul 24 16:02:03 2009 -0400
description:
Added mailbox_backends_equal().

diffstat:

2 files changed, 19 insertions(+), 1 deletion(-)
src/lib-storage/mail-storage.c |   16 ++++++++++++++++
src/lib-storage/mail-storage.h |    4 +++-

diffs (42 lines):

diff -r a878a0897eb9 -r 72f159e0aaa6 src/lib-storage/mail-storage.c
--- a/src/lib-storage/mail-storage.c	Tue Jul 21 17:14:41 2009 -0400
+++ b/src/lib-storage/mail-storage.c	Fri Jul 24 16:02:03 2009 -0400
@@ -529,6 +529,22 @@ bool mailbox_allow_new_keywords(struct m
 	return box->v.allow_new_keywords(box);
 }
 
+bool mailbox_backends_equal(const struct mailbox *box1,
+			    const struct mailbox *box2)
+{
+	struct mail_namespace *ns1 = box1->storage->ns;
+	struct mail_namespace *ns2 = box2->storage->ns;
+
+	if (strcmp(box1->name, box2->name) != 0)
+		return FALSE;
+
+	while (ns1->alias_for != NULL)
+		ns1 = ns1->alias_for;
+	while (ns2->alias_for != NULL)
+		ns2 = ns2->alias_for;
+	return ns1 == ns2;
+}
+
 void mailbox_get_status(struct mailbox *box,
 			enum mailbox_status_items items,
 			struct mailbox_status *status_r)
diff -r a878a0897eb9 -r 72f159e0aaa6 src/lib-storage/mail-storage.h
--- a/src/lib-storage/mail-storage.h	Tue Jul 21 17:14:41 2009 -0400
+++ b/src/lib-storage/mail-storage.h	Fri Jul 24 16:02:03 2009 -0400
@@ -349,9 +349,11 @@ const char *mailbox_get_name(const struc
 
 /* Returns TRUE if mailbox is read-only. */
 bool mailbox_is_readonly(struct mailbox *box);
-
 /* Returns TRUE if mailbox currently supports adding keywords. */
 bool mailbox_allow_new_keywords(struct mailbox *box);
+/* Returns TRUE if two mailboxes point to the same physical mailbox. */
+bool mailbox_backends_equal(const struct mailbox *box1,
+			    const struct mailbox *box2);
 
 /* Gets the mailbox status information. */
 void mailbox_get_status(struct mailbox *box, enum mailbox_status_items items,


More information about the dovecot-cvs mailing list