|
@@ -72,19 +72,18 @@ long int gethostid(void)
|
|
|
if (gethostname(host,MAXHOSTNAMELEN)>=0 && *host) {
|
|
|
struct hostent *hp;
|
|
|
struct in_addr in;
|
|
|
+ struct hostent ghbn_h;
|
|
|
+ char ghbn_buf[sizeof(struct in_addr) +
|
|
|
+ sizeof(struct in_addr *)*2 +
|
|
|
+ sizeof(char *)*((2 + 5/*MAX_ALIASES*/ +
|
|
|
+ 1)/*ALIAS_DIM*/) +
|
|
|
+ 256/*namebuffer*/ + 32/* margin */];
|
|
|
+ int ghbn_errno;
|
|
|
|
|
|
/* replace gethostbyname() with gethostbyname_r() - ron@zing.net */
|
|
|
/*if ((hp = gethostbyname(host)) == (struct hostent *)NULL)*/
|
|
|
- {
|
|
|
- struct hostent ghbn_h;
|
|
|
- char ghbn_buf[sizeof(struct in_addr) +
|
|
|
- sizeof(struct in_addr *)*2 +
|
|
|
- sizeof(char *)*((2 + 5/*MAX_ALIASES*/ +
|
|
|
- 1)/*ALIAS_DIM*/) +
|
|
|
- 256/*namebuffer*/ + 32/* margin */];
|
|
|
- int ghbn_errno;
|
|
|
- gethostbyname_r(host, &ghbn_h, ghbn_buf, sizeof(ghbn_buf), &hp, &ghbn_errno);
|
|
|
- }
|
|
|
+ gethostbyname_r(host, &ghbn_h, ghbn_buf, sizeof(ghbn_buf), &hp, &ghbn_errno);
|
|
|
+
|
|
|
if (hp == (struct hostent *)NULL)
|
|
|
|
|
|
/* This is not a error if we get here, as all it means is that
|