int mutt_account_match (const ACCOUNT * a1, const ACCOUNT * a2)
{
const char* user = NONULL(mod_core.username);
- const char* login = NONULL(mod_core.username);
if (a1->type != a2->type)
return 0;
if (a1->port != a2->port)
return 0;
- if (a1->type == M_ACCT_TYPE_IMAP) {
- if (ImapUser && (ImapUser[0] != '\0'))
- user = ImapUser;
- if (ImapLogin && (ImapLogin[0] != '\0'))
- login = ImapLogin;
- }
+ if (a1->type == M_ACCT_TYPE_IMAP && !m_strisempty(ImapUser))
+ user = ImapUser;
- if (a1->type == M_ACCT_TYPE_POP && PopUser)
+ if (a1->type == M_ACCT_TYPE_POP && !m_strisempty(PopUser))
user = PopUser;
#ifdef USE_NNTP
- if (a1->type == M_ACCT_TYPE_NNTP && NntpUser)
+ if (a1->type == M_ACCT_TYPE_NNTP && !m_strisempty(NntpUser))
user = NntpUser;
#endif
/* already set */
if (account->has_login)
return 0;
- else if (account->type == M_ACCT_TYPE_IMAP)
- {
- if (!m_strisempty(ImapLogin)) {
- m_strcpy(account->login, sizeof(account->login), ImapLogin);
- account->has_login = 1;
- }
- }
- if (!account->has_login) {
+ if (account->type == M_ACCT_TYPE_IMAP && !m_strisempty(ImapLogin)) {
+ m_strcpy(account->login, sizeof(account->login), ImapLogin);
+ account->has_login = 1;
+ } else {
mutt_account_getuser (account);
m_strcpy(account->login, sizeof(account->login), account->user);
}