Browse Source

fix regex on arm

TRE has a broken assumption that wchar_t is signed, which is a sane
expectation, but not required by the standard, and false on ARM's ABI.

i leave tre_char_t as wchar_t for now, since a pointer to it is
directly passed to functions that need pointer to wchar_t. it does not
seem to break anything. and since the maximum unicode scalar value is
0x10ffff, just use that explicitly rather than using the max value of
any particular C type.
Rich Felker 12 years ago
parent
commit
8b4c232efe
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/regex/tre.h

+ 1 - 1
src/regex/tre.h

@@ -50,7 +50,7 @@ typedef wchar_t tre_char_t;
 
 /* Wide characters. */
 typedef wint_t tre_cint_t;
-#define TRE_CHAR_MAX WCHAR_MAX
+#define TRE_CHAR_MAX 0x10ffff
 
 #define tre_isalnum iswalnum
 #define tre_isalpha iswalpha