dprint (1,(debugfile,"Preconnect to server %s:\n", conn->server));
dprint (1,(debugfile,"Preconnect to server %s:\n", conn->mx.host));
int raw_socket_open (CONNECTION *conn){  struct sockaddr_in sin;  struct hostent *he;  int    verbose;  char *pc = conn->preconnect;  int  do_preconnect = (pc && strlen (pc) > 0);  /* This might be a config variable */  int first_try_without_preconnect = TRUE;   memset (&sin, 0, sizeof (sin));  sin.sin_port = htons (conn->port);  sin.sin_family = AF_INET;  if ((he = gethostbyname (conn->server)) == NULL)  {    mutt_perror (conn->server);    return (-1);  }  memcpy (&sin.sin_addr, he->h_addr_list[0], he->h_length);  mutt_message (_("Connecting to %s..."), conn->server);   if (do_preconnect && first_try_without_preconnect)  {    verbose = FALSE;    if (try_socket_and_connect (conn, sin, verbose) == 0)      return 0;  }    if (do_preconnect)  {    int ret;    dprint (1,(debugfile,"Preconnect to server %s:\n", conn->server));    dprint (1,(debugfile,"\t%s\n", conn->preconnect));    /* Execute preconnect command */    ret = mutt_system (conn->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 try_socket_and_connect (conn, sin, verbose);}