+
+# ifndef ULONG_MAX
+# define ULONG_MAX ((unsigned long) ~(unsigned long) 0)
+# endif
+# ifndef LONG_MAX
+# define LONG_MAX ((long int) (ULONG_MAX >> 1))
+# endif
+#endif
+
+#ifdef USE_WIDE_CHAR
+# include <wchar.h>
+# include <wctype.h>
+# define L_(ch) L##ch
+# define UCHAR_TYPE wint_t
+# define STRING_TYPE wchar_t
+# define ISSPACE(ch) iswspace (ch)
+# define ISALPHA(ch) iswalpha (ch)
+# define TOUPPER(ch) towupper (ch)
+#else
+# define L_(ch) ch
+# define UCHAR_TYPE unsigned char
+# define STRING_TYPE char
+# define ISSPACE(ch) isspace (ch)
+# define ISALPHA(ch) isalpha (ch)
+# define TOUPPER(ch) toupper (ch)