conn = mutt_conn_find (NULL, account);
if (!(conn = mutt_conn_find (NULL, account))) return NULL;
IMAP_DATA* imap_conn_find (const ACCOUNT* account, int flags){  CONNECTION* conn;  IMAP_DATA* idata;  ACCOUNT* creds;  conn = mutt_conn_find (NULL, account);  /* if opening a new UNSELECTED connection, preserve existing creds */  creds = &(conn->account);  /* make sure this connection is not in SELECTED state, if neccessary */  if (flags & M_IMAP_CONN_NOSELECT)    while (conn->data && ((IMAP_DATA*) conn->data)->state == IMAP_SELECTED)    {      conn = mutt_conn_find (conn, account);      memcpy (&(conn->account), creds, sizeof (ACCOUNT));    }      idata = (IMAP_DATA*) conn->data;  /* don't open a new connection if one isn't wanted */  if (flags & M_IMAP_CONN_NONEW)    if (!idata || idata->state == IMAP_DISCONNECTED)    {      mutt_socket_free (conn);      return NULL;    }    if (!idata)  {    /* The current connection is a new connection */    idata = safe_calloc (1, sizeof (IMAP_DATA));    conn->data = idata;    idata->conn = conn;  }  if (idata->state == IMAP_DISCONNECTED)    if (imap_open_connection (idata) != 0)    {      FREE (&idata);      mutt_socket_free (conn);      return NULL;    }    return idata;}