]> git.saurik.com Git - wxWidgets.git/blobdiff - src/regex/regcustom.h
Wrap some functions with wxAutoNSAutoreleasePool
[wxWidgets.git] / src / regex / regcustom.h
index f5486920e7c8789acd2a462aa07b11a112fbbcd4..a53cf621caed0bef501a419d8ea413a8ce2d1129 100644 (file)
  */
 
 /* headers if any */
-#include <sys/types.h>
+
+// FreeBSD, Watcom and DMars require this, CW doesn't have nor need it.
+// Others also don't seem to need it. If you have an error related to
+// (not) including <sys/types.h> please report details to
+// wx-dev@lists.wxwindows.org
+#if defined(__UNIX__) || defined(__WATCOMC__) || defined(__DIGITALMARS__)
+#   include <sys/types.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
 #endif
 
 #if !wxUSE_UNICODE
-#      define wx_wchar char
+#   define wx_wchar char
 #else // Unicode
     #if (defined(__GNUC__) && !wxCHECK_GCC_VERSION(2, 96))
-    #          define wx_wchar __WCHAR_TYPE__ 
+    #       define wx_wchar __WCHAR_TYPE__ 
     #else // __WCHAR_TYPE__ and gcc < 2.96
         // standard case
-        #              define wx_wchar wchar_t         
+        #       define wx_wchar wchar_t         
     #endif // __WCHAR_TYPE__
 #endif // ASCII/Unicode
 
@@ -70,14 +78,37 @@ typedef long celt;                          /* type to hold chr, MCCE number, or
                                                                                 * literal */
 #define DIGITVAL(c) ((c)-'0')  /* turn chr digit into its value */
 
-/*  RN - the "not use sizeof() thing is really asanine!" */
-#ifdef wxUSE_UNICODE
-#      define CHRBITS 8
-#else
-#      define CHRBITS 32                       /* bits in a chr; must not use sizeof */
-#endif
+/*  RN - the "not use sizeof() thing is really annoying!" */
+#if wxUSE_UNICODE
+#   if defined(__WINDOWS__)
+#       define CHRBITS 16
+#       define CHR_MAX 0xfffe          
+#   else   /* !__WINDOWS__ */
+#       if defined(__MACH__)
+#           define CHRBITS 32
+#           define CHR_MAX 0xfffffffe          
+#       else  /* !__MACH__ */
+#           if !defined(SIZEOF_WCHAR_T)
+#               define CHRBITS 16
+#               define CHR_MAX 0xfffe          
+#           else       /* defined(SIZEOF_WCHAR_T) */
+#               define CHRBITS SIZEOF_WCHAR_T
+#               define CHR_MAX ((1 << CHRBITS) - 1)            
+#           endif  /* !defined(SIZEOF_WCHAR_T) */
+#       endif  /* defined(__MACH__)  */
+#   endif  /*  defined(__WINDOWS__)  */
+#else  /*  !wxUSE_UNICODE */
+#   define CHRBITS 8                   /* bits in a chr; must not use sizeof */
+#   define CHR_MAX 0xfe
+#endif  /* wxUSE_UNICODE  */
+
 #define CHR_MIN 0x00000000             /* smallest and largest chr; the value */
-#define CHR_MAX (1 << CHRBITS) /*0xfffffffe*/          /* CHR_MAX-CHR_MIN+1 should fit in uchr */
+/*     
+       PUTTING PARENTHASES AROUND THIS, I.E. (1 << CHRBITS) WILL
+       CAUSE ALL CHARACTERS TO BE MATCHED!!!
+*/
+/*#define CHR_MAX 1 << CHRBITS /                CHR_MAX-CHR_MIN+1 should fit in uchr */
+
 
 /* functions operating on chr */
 #define iscalnum(x) wx_isalnum(x)