+ CurHostName = MxHosts[j];
+#ifdef HOSTINFO
+ /* see if we have already determined that this host is fried */
+ st = stab(MxHosts[j], ST_HOST, ST_FIND);
+ if (st == NULL || st->s_host.ho_exitstat == EX_OK) {
+ if (j > 1)
+ message(Arpa_Info,
+ "Connecting to %s (%s)...",
+ MxHosts[j], m->m_name);
+ i = makeconnection(MxHosts[j], port, pmfile, prfile);
+ }
+ else
+ {
+ i = st->s_host.ho_exitstat;
+ errno = st->s_host.ho_errno;
+ }
+#else HOSTINFO
+ i = makeconnection(MxHosts[j], port, pmfile, prfile);
+#endif HOSTINFO
+ if (i != EX_OK)
+ {
+#ifdef HOSTINFO
+ /* enter status of this host */
+ if (st == NULL)
+ st = stab(MxHosts[j], ST_HOST, ST_ENTER);
+ st->s_host.ho_exitstat = i;
+ st->s_host.ho_errno = errno;
+#endif HOSTINFO
+ ExitStat = i;
+ continue;
+ }
+ else
+ return (0);