X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=zotnet%2Fmts%2Fclient.c;h=924684c0719bcefcf4f732896b5557f487cd5728;hb=c0a38419e027e400b370db10086bcb8a3c981ce7;hp=b9679e9a8d38df7390c9ef28b7df36c045d462cb;hpb=910f3846bb30636fe25bdc6e06e72d50c6779bd9;p=mmh diff --git a/zotnet/mts/client.c b/zotnet/mts/client.c index b9679e9..924684c 100644 --- a/zotnet/mts/client.c +++ b/zotnet/mts/client.c @@ -61,7 +61,7 @@ char krb_realm[REALM_SZ]; char *PrincipalHostname(); #endif /* KPOP */ -#if defined(BIND) && !defined(h_addr) +#if !defined(h_addr) # define h_addr h_addr_list[0] #endif @@ -92,7 +92,7 @@ client (char *args, char *protocol, char *service, int rproto, char *arguments[MAXARGS]; register struct hostent *hp; register struct servent *sp; -#ifndef BIND +#ifndef HAVE_GETHOSTBYNAME register struct netent *np; #endif @@ -143,9 +143,18 @@ client (char *args, char *protocol, char *service, int rproto, for (ap = arguments; *ap; ap++) { if (**ap == '\01') { -#ifndef BIND +/* + * the assumption here is that if the system doesn't have a + * gethostbyname() function, it must not use DNS. So we need to look + * into the /etc/hosts using gethostent(). There probablly aren't any + * systems still like this, but you never know. On every system I have + * access to, this section is ignored. + */ +#ifndef HAVE_GETHOSTBYNAME if ((np = getnetbyname (*ap + 1))) { +#ifdef HAVE_SETHOSTENT sethostent (1); +#endif /* HAVE_SETHOSTENT */ while ((hp = gethostent())) if (np->n_addrtype == hp->h_addrtype && inet (hp, np->n_net)) { @@ -163,7 +172,7 @@ client (char *args, char *protocol, char *service, int rproto, break; } } -#endif +#endif /* don't HAVE_GETHOSTBYNAME */ continue; }