From 8b4c232efe182f4a9c8c52c5638af8fec92987bf Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 25 May 2012 10:45:05 -0400 Subject: [PATCH] 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. --- src/regex/tre.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/regex/tre.h b/src/regex/tre.h index d6e1c2a7..f4e5ab12 100644 --- a/src/regex/tre.h +++ b/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