From 128d06aaaa40f990e80d67bde851b7c6b2369615 Mon Sep 17 00:00:00 2001 From: Christian Beier Date: Thu, 21 Oct 2010 13:45:27 +0200 Subject: [PATCH] Only define strncasecmp to _strnicmp when using MS compiler. Redefining strncasecmp to _strnicmp makes libvncclient hang forever in SetFormatAndEncodings() on Windows when built with MinGW64. Reported by Tobias Doerffel , thanks! --- libvncclient/rfbproto.c | 6 +----- rfb/rfbproto.h | 5 +++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c index 602594b..098ae38 100644 --- a/libvncclient/rfbproto.c +++ b/libvncclient/rfbproto.c @@ -31,13 +31,9 @@ #include #include #include -#else -#define strncasecmp _strnicmp -#endif -#include -#ifndef WIN32 #include #endif +#include #include #ifdef LIBVNCSERVER_HAVE_LIBZ #include diff --git a/rfb/rfbproto.h b/rfb/rfbproto.h index 4e80fb3..c20f95c 100644 --- a/rfb/rfbproto.h +++ b/rfb/rfbproto.h @@ -74,6 +74,11 @@ #define LIBVNCSERVER_WORDS_BIGENDIAN #endif +/* MS compilers don't have strncasecmp */ +#ifdef _MSC_VER +#define strncasecmp _strnicmp +#endif + #if !defined(WIN32) || defined(__MINGW32__) #define max(a,b) (((a)>(b))?(a):(b)) #ifdef LIBVNCSERVER_HAVE_SYS_TIME_H