diff src/sysdep.c @ 3150:afc59d5d30c6

[HAVE_SOCKETS]: Include socket.h, netdb.h. (get_system_name) [HAVE_SOCKETS]: Use gethostbyname.
author Richard M. Stallman <rms@gnu.org>
date Wed, 26 May 1993 23:14:00 +0000
parents a5b3a34ba1e4
children 84825e357019
line wrap: on
line diff
--- a/src/sysdep.c	Wed May 26 23:08:55 1993 +0000
+++ b/src/sysdep.c	Wed May 26 23:14:00 1993 +0000
@@ -1712,6 +1712,17 @@
 #endif /* not HAVE_GETHOSTNAME */
 #endif /* USG */
 
+#ifndef BSD4_1
+#ifndef USG
+#ifndef VMS
+#ifdef HAVE_SOCKETS
+#include <sys/socket.h>
+#include <netdb.h>
+#endif /* HAVE_SOCKETS */
+#endif /* not VMS */
+#endif /* not USG */
+#endif /* not BSD4_1 */
+
 char *
 get_system_name ()
 {
@@ -1742,6 +1753,20 @@
   strcpy (system_name_saved, sp);
 #else /* not VMS */
   gethostname (system_name_saved, sizeof (system_name_saved));
+#ifdef HAVE_SOCKETS
+  /* Turn the hostname into the official, fully-qualified hostname.
+     Don't do this if we're going to dump; this can confuse system
+     libraries on some machines and make the dumped emacs core dump. */
+#ifndef CANNOT_DUMP
+  if (initialized)
+#endif /* not CANNOT_DUMP */
+    {
+      struct hostent *hp;
+      hp = gethostbyname (system_name_saved);
+      if (hp && strlen (hp->h_name) < sizeof(system_name_saved))
+	strcpy (system_name_saved, hp->h_name);
+    }
+#endif /* HAVE_SOCKETS */
 #endif /* not VMS */
   return system_name_saved;
 #endif /* not USG, not 4.1 */