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 | 41096: Don't assume null termination copying string. (diff) | |
| download | zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.gz zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.bz2 zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.lz zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.xz zsh-171e7fa4c1d9cbf0d8ff35ee795e1599913aa329.tar.zst 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)) { |
