if (!attempt) mutt_error _("Authentication method is unknown.");
if (!attempts) mutt_error (_("No authenticators available"));
int pop_authenticate (POP_DATA* pop_data){  ACCOUNT *acct = &pop_data->conn->account;  pop_auth_t* authenticator;  int attempt = 0;  int auth = 0;  int ret = POP_A_UNAVAIL;  if (mutt_account_getuser (acct) || !acct->user[0] ||      mutt_account_getpass (acct) || !acct->pass[0])    return -3;  if (pop_data->authenticator)  {    authenticator = &pop_authenticators[pop_data->authenticator - 1];    ret = (*authenticator)(pop_data);    attempt = 1;  }  else  {    authenticator = pop_authenticators;    while (authenticator)    {      auth++;      ret = (*authenticator)(pop_data);      if (ret == POP_A_SOCKET)	switch (pop_connect (pop_data))	{	  case 0:	  {	    ret = (*authenticator)(pop_data);	    break;	  }	  case -2:	    ret = POP_A_FAILURE;	}      if (ret == POP_A_SKIP)	attempt = 1;      else if (ret != POP_A_UNAVAIL)	break;      authenticator++;    }    if (ret == POP_A_SUCCESS)    {      pop_data->authenticator = auth;      dprint (1, (debugfile, "pop_authenticate: Authenticator #%d.\n", auth));    }  }  switch (ret)  {    case POP_A_SUCCESS:      return 0;    case POP_A_SOCKET:      return -1;    case POP_A_UNAVAIL:      if (!attempt)	mutt_error _("Authentication method is unknown.");  }  return -2;}