@@ -0,0 +1,25 @@
+--- 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));
+ }
+ }
+
|