]> granicus.if.org Git - neomutt/commitdiff
Add imap_account_match wrapper over mutt_account_match that canonicalizes
authorEmanuele Giaquinta <e.giaquinta@glauco.it>
Wed, 29 Oct 2008 23:47:50 +0000 (00:47 +0100)
committerEmanuele Giaquinta <e.giaquinta@glauco.it>
Wed, 29 Oct 2008 23:47:50 +0000 (00:47 +0100)
accounts with imap_conn_find so that username comparison always work as
expected.

imap/command.c
imap/imap.h
imap/util.c

index c041336eaf1e5eac07a2fca006742c2dd63218d0..0eef1f577cd338b746a8d83e11b2460daac36d01 100644 (file)
@@ -948,7 +948,7 @@ static void cmd_parse_status (IMAP_DATA* idata, char* s)
     }
     /* dprint (2, (debugfile, "Buffy entry: [%s] mbox: [%s]\n", inc->path, NONULL(mx.mbox))); */
     
-    if (mutt_account_match (&idata->conn->account, &mx.account))
+    if (imap_account_match (&idata->conn->account, &mx.account))
     {
       if (mx.mbox)
       {
index ed59566bc60c4c45337cdf8d092a000f72b90879..d9883dcb0876e4234c21b4c92ad17e24e63ce566 100644 (file)
@@ -70,4 +70,6 @@ void imap_pretty_mailbox (char* path);
 int imap_wait_keepalive (pid_t pid);
 void imap_keepalive (void);
 
+int imap_account_match (const ACCOUNT* a1, const ACCOUNT* a2);
+
 #endif
index 9a6cfc033c116c717833125cb9b3b234a65c4afa..ef56ddec95482a34af3d4af0c9566f1927c26e46 100644 (file)
@@ -790,3 +790,12 @@ void imap_disallow_reopen (CONTEXT *ctx)
   if (ctx && ctx->magic == M_IMAP && CTX_DATA->ctx == ctx)
     CTX_DATA->reopen &= ~IMAP_REOPEN_ALLOW;
 }
+
+int imap_account_match (const ACCOUNT* a1, const ACCOUNT* a2)
+{
+       IMAP_DATA* a1_idata = imap_conn_find (a1, M_IMAP_CONN_NONEW);
+       IMAP_DATA* a2_idata = imap_conn_find (a2, M_IMAP_CONN_NONEW);
+       const ACCOUNT* a1_canon = a1_idata == NULL ? a1 : &a1_idata->conn->account;
+       const ACCOUNT* a2_canon = a2_idata == NULL ? a2 : &a2_idata->conn->account;
+       return mutt_account_match (a1_canon, a2_canon);
+}