This fixes Cygwin, where wchar_t is ushort. | |
--- a/grove/Node.h | |
+++ b/grove/Node.h | |
@@ -8,6 +8,7 @@ | |
#endif | |
#include <stddef.h> | |
+#include <limits.h> | |
#include "IList.h" | |
#ifdef SP_USE_DLL | |
@@ -34,10 +35,10 @@ | |
#endif | |
#ifdef SP_MULTI_BYTE | |
-#ifdef SP_WCHAR_T_USHORT | |
-typedef wchar_t GroveChar; | |
-#else | |
+#if UINT_MAX >= 0xffffffffL /* 2^32 - 1 */ | |
typedef unsigned int GroveChar; | |
+#else | |
+typedef unsigned long GroveChar; | |
#endif | |
#else /* not SP_MULTI_BYTE */ | |
typedef unsigned char GroveChar; |