diff options
author | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2017-05-12 12:10:13 +0900 |
---|---|---|
committer | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2017-05-12 12:10:13 +0900 |
commit | 171e7fa4c1d9cbf0d8ff35ee795e1599913aa329 (patch) | |
tree | ded7e4f9df81e95c9d62ed93ef45cc6c9afcee76 /Src/wcwidth9.h | |
parent | 4bb81eefbd2a0093d0d3c1b9f4aa1de027512834 (diff) | |
download | zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.gz zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.xz zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.zip |
41090: Replace iswprint() if unicode9 is enabled.
If wcwidth() or iswprint() is broken, force enable unicode9.
Diffstat (limited to 'Src/wcwidth9.h')
-rw-r--r-- | Src/wcwidth9.h | 6 |
1 files changed, 5 insertions, 1 deletions
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)) { |