From 6acaa359928215b48e97373fb96a3dc326bbd65b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 24 Jul 2009 15:56:21 -0400 Subject: [PATCH] Added mailbox_backends_equal(). --HG-- branch : HEAD --- src/lib-storage/mail-storage.c | 15 +++++++++++++++ src/lib-storage/mail-storage.h | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 07958eebc4..dfac3a7d0a 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -580,6 +580,21 @@ bool mailbox_allow_new_keywords(struct mailbox *box) return box->v.allow_new_keywords(box); } +bool mailbox_backends_equal(const struct mailbox *box1, + const struct mailbox *box2) +{ + struct mail_namespace *ns1 = box1->list->ns, *ns2 = box2->list->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 --git a/src/lib-storage/mail-storage.h b/src/lib-storage/mail-storage.h index ce85c89147..3fecc12a57 100644 --- a/src/lib-storage/mail-storage.h +++ b/src/lib-storage/mail-storage.h @@ -357,9 +357,11 @@ const char *mailbox_get_vname(const struct mailbox *box) ATTR_PURE; /* 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, -- 2.47.3