26 lines
658 B
Diff
26 lines
658 B
Diff
--- socket.c.orig
|
|
+++ socket.c
|
|
@@ -54,6 +54,7 @@ static struct hostent *gethostbyname_dot
|
|
char *name;
|
|
{
|
|
char dot_name[MAXHOSTNAMELEN + 1];
|
|
+ struct hostent *hp;
|
|
|
|
/*
|
|
* Don't append dots to unqualified names. Such names are likely to come
|
|
@@ -63,8 +64,12 @@ char *name;
|
|
if (strchr(name, '.') == 0 || strlen(name) >= MAXHOSTNAMELEN - 1) {
|
|
return (gethostbyname(name));
|
|
} else {
|
|
- sprintf(dot_name, "%s.", name);
|
|
- return (gethostbyname(dot_name));
|
|
+ sprintf(dot_name, "%s.", name);
|
|
+ hp = gethostbyname(dot_name);
|
|
+ if (hp)
|
|
+ return hp;
|
|
+ else
|
|
+ return (gethostbyname(name));
|
|
}
|
|
}
|
|
|