diff options
Diffstat (limited to 'Modules/unicodedata.c')
-rw-r--r-- | Modules/unicodedata.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Modules/unicodedata.c b/Modules/unicodedata.c index 1f9ba78654..9e71e018e2 100644 --- a/Modules/unicodedata.c +++ b/Modules/unicodedata.c @@ -45,6 +45,7 @@ typedef struct change_record { const unsigned char category_changed; const unsigned char decimal_changed; const unsigned char mirrored_changed; + const unsigned char east_asian_width_changed; const double numeric_changed; } change_record; @@ -375,6 +376,8 @@ unicodedata_UCD_east_asian_width_impl(PyObject *self, int chr) const change_record *old = get_old_record(self, c); if (old->category_changed == 0) index = 0; /* unassigned */ + else if (old->east_asian_width_changed != 0xFF) + index = old->east_asian_width_changed; } return PyUnicode_FromString(_PyUnicode_EastAsianWidthNames[index]); } @@ -884,7 +887,7 @@ _gethash(const char *s, int len, int scale) return h; } -static char *hangul_syllables[][3] = { +static const char * const hangul_syllables[][3] = { { "G", "A", "" }, { "GG", "AE", "G" }, { "N", "YA", "GG" }, @@ -1057,7 +1060,7 @@ find_syllable(const char *str, int *len, int *pos, int count, int column) int i, len1; *len = -1; for (i = 0; i < count; i++) { - char *s = hangul_syllables[i][column]; + const char *s = hangul_syllables[i][column]; len1 = Py_SAFE_DOWNCAST(strlen(s), size_t, int); if (len1 <= *len) continue; |