From f22a9edaf8a6f2ca1d314d18b3785558279a5c03 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 16 Jun 2015 06:18:00 +0000 Subject: byte-based C locale, phase 3: make MB_CUR_MAX variable to activate code this patch activates the new byte-based C locale (high bytes treated as abstract code unit "characters" rather than decoded as multibyte characters) by making the value of MB_CUR_MAX depend on the active locale. for the C locale, the LC_CTYPE category pointer is null, yielding a value of 1. all other locales yield a value of 4. --- src/internal/locale_impl.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/internal/locale_impl.h') diff --git a/src/internal/locale_impl.h b/src/internal/locale_impl.h index 85db7933..f5e4d9b4 100644 --- a/src/internal/locale_impl.h +++ b/src/internal/locale_impl.h @@ -34,4 +34,7 @@ const char *__lctrans_cur(const char *); #define CURRENT_UTF8 (!!__pthread_self()->locale->cat[LC_CTYPE]) +#undef MB_CUR_MAX +#define MB_CUR_MAX (CURRENT_UTF8 ? 4 : 1) + #endif -- cgit v1.2.1