return errno; }  return 0;
if (ConnectTimeout > 0) alarm (0); mutt_allow_interrupt (0);  return save_errno;
static int socket_connect (int fd, struct sockaddr* sa){  int sa_size;  int rc;  /* old first_try_without_preconnect removed for now. unset $preconnect     first. */  if (mutt_strlen (Preconnect))  {    dprint (1, (debugfile, "Executing preconnect: %s\n", Preconnect));    rc = mutt_system (Preconnect);    dprint (1, (debugfile, "Preconnect result: %d\n", rc));    if (rc)    {      mutt_perror (_("Preconnect command failed."));      sleep (1);      return -1;    }  }  if (sa->sa_family == AF_INET)    sa_size = sizeof (struct sockaddr_in);  else if (sa->sa_family == AF_INET6)    sa_size = sizeof (struct sockaddr_in6);  else  {    dprint (1, (debugfile, "Unknown address family!\n"));    return -1;  }    if (connect (fd, sa, sa_size) < 0)  {    dprint (2, (debugfile, "Connection failed. errno: %d...\n", errno));    return errno;  }    return 0;}