struct hostent *he; int    verbose; int  do_preconnect = mutt_strlen (Preconnect) > 0;  int first_try_without_preconnect = TRUE;
struct hostent* he; int i;
int raw_socket_open (CONNECTION* conn){  struct sockaddr_in sin;  struct hostent *he;  int    verbose;  int  do_preconnect = mutt_strlen (Preconnect) > 0;  /* This might be a config variable */  int first_try_without_preconnect = TRUE;   mutt_message (_("Looking up %s..."), conn->account.host);    memset (&sin, 0, sizeof (sin));  sin.sin_port = htons (conn->account.port);  sin.sin_family = AF_INET;  if ((he = gethostbyname (conn->account.host)) == NULL)  {    mutt_error (_("Could not find the host \"%s\""), conn->account.host);	    return -1;  }  memcpy (&sin.sin_addr, he->h_addr_list[0], he->h_length);  mutt_message (_("Connecting to %s..."), conn->account.host);   if (do_preconnect && first_try_without_preconnect)  {    verbose = FALSE;    if (socket_connect (conn, sin, verbose) == 0)      return 0;  }    if (do_preconnect)  {    int ret;    dprint (1, (debugfile, "Preconnect to server %s:\n", conn->account.host));    dprint (1, (debugfile, "\t%s\n", Preconnect));    /* Execute preconnect command */    ret = mutt_system (Preconnect) < 0;    dprint (1, (debugfile, "\t%s: %d\n", "Exit status", ret));    if (ret < 0)    {      mutt_perror (_("Preconnect command failed."));      sleep (1);      return ret;    }  }    verbose = TRUE;  return socket_connect (conn, sin, verbose);}