#endif
#include "mutt.h"
+#include "enter.h"
+#include "ascii.h"
#include "account.h"
#include "url.h"
#endif
if (a1->flags & a2->flags & M_ACCT_USER)
- return (!safe_strcmp (a1->user, a2->user));
+ return (!str_cmp (a1->user, a2->user));
if (a1->flags & M_ACCT_USER)
- return (!safe_strcmp (a1->user, user));
+ return (!str_cmp (a1->user, user));
if (a2->flags & M_ACCT_USER)
- return (!safe_strcmp (a2->user, user));
+ return (!str_cmp (a2->user, user));
return 1;
}
else {
snprintf (prompt, sizeof (prompt), _("Username at %s: "), account->host);
strfcpy (account->user, NONULL (Username), sizeof (account->user));
- if (mutt_get_field (prompt, account->user, sizeof (account->user), 0))
+ if (mutt_get_field_unbuffered (prompt, account->user,
+ sizeof (account->user), 0))
return -1;
}
#ifdef USE_IMAP
else if (account->type == M_ACCT_TYPE_IMAP)
{
- if (ImapLogin)
+ if (ImapLogin) {
strfcpy (account->login, ImapLogin, sizeof (account->login));
- else {
- mutt_account_getuser (account);
- strfcpy (account->login, account->user, sizeof (account->login));
+ account->flags |= M_ACCT_LOGIN;
}
}
#endif
+ if (!(account->flags & M_ACCT_LOGIN)) {
+ mutt_account_getuser (account);
+ strfcpy (account->login, account->user, sizeof (account->login));
+ }
+
account->flags |= M_ACCT_LOGIN;
return 0;
#endif
else {
snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
- account->login, account->host);
+ account->flags & M_ACCT_LOGIN ? account->login : account->user,
+ account->host);
account->pass[0] = '\0';
- if (mutt_get_password (prompt, account->pass, sizeof (account->pass)))
+ if (mutt_get_field_unbuffered (prompt, account->pass,
+ sizeof (account->pass), M_PASS))
return -1;
}