diff options
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | include/rfb.h | 37 | ||||
-rw-r--r-- | main.c | 9 |
3 files changed, 8 insertions, 39 deletions
diff --git a/configure.ac b/configure.ac index 23e4e07..1467688 100644 --- a/configure.ac +++ b/configure.ac @@ -68,6 +68,7 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE +AC_C_BIGENDIAN AC_TYPE_SIZE_T AC_HEADER_TIME diff --git a/include/rfb.h b/include/rfb.h index fcaa995..52a0804 100644 --- a/include/rfb.h +++ b/include/rfb.h @@ -60,50 +60,17 @@ typedef signed char Bool; #include "rfbproto.h" -#ifdef __linux__ -#include <endian.h> -#elif defined(__APPLE__) || defined(__FreeBSD__) #include <sys/types.h> -#include <machine/endian.h> -#define _BYTE_ORDER BYTE_ORDER -#define _LITTLE_ENDIAN LITTLE_ENDIAN -#elif defined (__SVR4) && defined (__sun) /* Solaris */ -#include <sys/types.h> -#if defined(__sparc) - /* SPARC here (big endian) */ -#define _BYTE_ORDER 4321 -#elif defined(__i386) -#define _BYTE_ORDER 1234 -#else -#error Solaris 2.5.1 had ppc support did it not? :-) -#endif -#undef Bool -#define Bool char -#undef SIGNED -#define SIGNED -#include <sys/types.h> -/* typedef unsigned int pthread_t; */ -#elif defined(WIN32) -#define _LITTLE_ENDIAN 1234 -#define _BYTE_ORDER _LITTLE_ENDIAN +#if defined(WIN32) +#define WORDS_BIGENDIAN #undef Bool #define Bool int -#else -#include <sys/endian.h> #endif #ifdef __sgi__ typedef int socklen_t; #endif -#ifndef _BYTE_ORDER -#define _BYTE_ORDER __BYTE_ORDER -#endif - -#if !defined(_LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN) -#define _LITTLE_ENDIAN __LITTLE_ENDIAN -#endif - #ifdef WIN32 #include <sys/timeb.h> #include <winsock.h> @@ -38,10 +38,11 @@ MUTEX(logMutex); int rfbEnableLogging=1; -/* we cannot compare to _LITTLE_ENDIAN, because some systems - (as Solaris) assume little endian if _LITTLE_ENDIAN is - defined, even if _BYTE_ORDER is not _LITTLE_ENDIAN */ -char rfbEndianTest = (_BYTE_ORDER == 1234); +#ifdef WORDS_BIGENDIAN +char rfbEndianTest = 0; +#else +char rfbEndianTest = -1; +#endif /* from rfbserver.c */ void rfbIncrClientRef(rfbClientPtr cl); |