From 171e7fa4c1d9cbf0d8ff35ee795e1599913aa329 Mon Sep 17 00:00:00 2001 From: Jun-ichi Takimoto Date: Fri, 12 May 2017 12:10:13 +0900 Subject: 41090: Replace iswprint() if unicode9 is enabled. If wcwidth() or iswprint() is broken, force enable unicode9. --- Src/wcwidth9.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Src/wcwidth9.h') diff --git a/Src/wcwidth9.h b/Src/wcwidth9.h index 07e6bae1c..448f548e9 100644 --- a/Src/wcwidth9.h +++ b/Src/wcwidth9.h @@ -22,6 +22,7 @@ static const struct wcwidth9_interval wcwidth9_nonprint[] = { {0x070f, 0x070f}, {0x180b, 0x180e}, {0x200b, 0x200f}, + {0x2028, 0x2029}, {0x202a, 0x202e}, {0x206a, 0x206f}, {0xd800, 0xdfff}, @@ -1283,6 +1284,9 @@ static inline bool wcwidth9_intable(const struct wcwidth9_interval *table, size_ } static inline int wcwidth9(int c) { + if (c == 0) { + return 0; + } if (c < 0|| c > 0x10ffff) { return -1; } @@ -1292,7 +1296,7 @@ static inline int wcwidth9(int c) { } if (wcwidth9_intable(wcwidth9_combining, WCWIDTH9_ARRAY_SIZE(wcwidth9_combining), c)) { - return -1; + return 0; } if (wcwidth9_intable(wcwidth9_not_assigned, WCWIDTH9_ARRAY_SIZE(wcwidth9_not_assigned), c)) { -- cgit 1.4.1