use a proper "hack" for iconv functions:
[apps/madmutt.git] / account.c
index b96de37..0942adc 100644 (file)
--- a/account.c
+++ b/account.c
@@ -14,6 +14,8 @@
 #endif
 
 #include "mutt.h"
+#include "enter.h"
+#include "ascii.h"
 #include "account.h"
 #include "url.h"
 
@@ -36,9 +38,9 @@ int mutt_account_match (const ACCOUNT * a1, const ACCOUNT * a2)
 
 #ifdef USE_IMAP
   if (a1->type == M_ACCT_TYPE_IMAP) {
-    if (ImapUser)
+    if (ImapUser && (ImapUser[0] != '\0'))
       user = ImapUser;
-    if (ImapLogin)
+    if (ImapLogin && (ImapLogin[0] != '\0'))
       login = ImapLogin;
   }
 #endif
@@ -54,11 +56,11 @@ int mutt_account_match (const ACCOUNT * a1, const ACCOUNT * a2)
 #endif
 
   if (a1->flags & a2->flags & M_ACCT_USER)
-    return (!mutt_strcmp (a1->user, a2->user));
+    return (!str_cmp (a1->user, a2->user));
   if (a1->flags & M_ACCT_USER)
-    return (!mutt_strcmp (a1->user, user));
+    return (!str_cmp (a1->user, user));
   if (a2->flags & M_ACCT_USER)
-    return (!mutt_strcmp (a2->user, user));
+    return (!str_cmp (a2->user, user));
 
   return 1;
 }
@@ -144,7 +146,7 @@ int mutt_account_getuser (ACCOUNT * account)
   if (account->flags & M_ACCT_USER)
     return 0;
 #ifdef USE_IMAP
-  else if ((account->type == M_ACCT_TYPE_IMAP) && ImapUser)
+  else if ((account->type == M_ACCT_TYPE_IMAP) && ImapUser && (ImapUser[0] != '\0'))
     strfcpy (account->user, ImapUser, sizeof (account->user));
 #endif
 #ifdef USE_POP
@@ -159,7 +161,8 @@ int mutt_account_getuser (ACCOUNT * account)
   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;
   }
 
@@ -176,7 +179,7 @@ int mutt_account_getlogin (ACCOUNT* account)
 #ifdef USE_IMAP
   else if (account->type == M_ACCT_TYPE_IMAP)
   {
-    if (ImapLogin) {
+    if (ImapLogin && (ImapLogin[0] != '\0')) {
       strfcpy (account->login, ImapLogin, sizeof (account->login));
       account->flags |= M_ACCT_LOGIN;
     }
@@ -217,7 +220,8 @@ int mutt_account_getpass (ACCOUNT * account)
               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;
   }