diff --git a/ChangeLog b/ChangeLog index 1b38d0e7..b104f80a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 1998-07-30 Martin Baulig + * sysdeps/common/gnuslib.c: Using `0xffffffff' instead of -1 + as error code for inet_addr () since on 64bit systems, + `inet_addr (some_error) != (INET_ADDR) -1'. + * configure.in: Only defining guile stuff if we really have guile. diff --git a/sysdeps/common/gnuslib.c b/sysdeps/common/gnuslib.c index 0a6d0e05..657b4123 100644 --- a/sysdeps/common/gnuslib.c +++ b/sysdeps/common/gnuslib.c @@ -45,14 +45,14 @@ static int connect_to_internet_server __P((const char *, u_short)); /* On some systems, e.g. DGUX, inet_addr returns a 'struct in_addr'. */ #ifdef HAVE_BROKEN_INET_ADDR #define IN_ADDR struct in_addr -#define NUMERIC_ADDR_ERROR (numeric_addr.s_addr == -1) +#define NUMERIC_ADDR_ERROR (numeric_addr.s_addr == 0xffffffff) #else #if (LONGBITS > 32) #define IN_ADDR unsigned int #else #define IN_ADDR unsigned long #endif -#define NUMERIC_ADDR_ERROR (numeric_addr == (IN_ADDR) -1) +#define NUMERIC_ADDR_ERROR (numeric_addr == (IN_ADDR) 0xffffffff) #endif #include @@ -208,6 +208,8 @@ glibtop_internet_addr (host) IN_ADDR numeric_addr; /* host address */ numeric_addr = inet_addr (host); + fprintf (stderr, "TEST: %lx - %lx\n", + (IN_ADDR) numeric_addr, (IN_ADDR) 0xffffffff); if (!NUMERIC_ADDR_ERROR) return numeric_addr; else if ((hp = gethostbyname (host)) != NULL)