diff options
Diffstat (limited to 'src/nvim/mbyte.c')
-rw-r--r-- | src/nvim/mbyte.c | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index db4516527a..26eda01f98 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -289,11 +289,9 @@ enc_canon_table[] = #define IDX_MACROMAN 57 {"macroman", ENC_8BIT + ENC_MACROMAN, 0}, /* Mac OS */ -#define IDX_DECMCS 58 - {"dec-mcs", ENC_8BIT, 0}, /* DEC MCS */ -#define IDX_HPROMAN8 59 +#define IDX_HPROMAN8 58 {"hp-roman8", ENC_8BIT, 0}, /* HP Roman8 */ -#define IDX_COUNT 60 +#define IDX_COUNT 59 }; /* @@ -925,9 +923,9 @@ static int dbcs_ptr2len_len(const char_u *p, int size) } /* - * Return true if "c" is in "table[size / sizeof(struct interval)]". + * Return true if "c" is in "table". */ -static bool intable(const struct interval *table, size_t size, int c) +static bool intable(const struct interval *table, size_t n_items, int c) { int mid, bot, top; @@ -937,7 +935,7 @@ static bool intable(const struct interval *table, size_t size, int c) /* binary search in table */ bot = 0; - top = (int)(size / sizeof(struct interval) - 1); + top = (int)(n_items - 1); while (top >= bot) { mid = (bot + top) / 2; if (table[mid].last < c) @@ -1204,7 +1202,7 @@ int utf_char2cells(int c) #else if (!utf_printable(c)) return 6; /* unprintable, displays <xxxx> */ - if (intable(doublewidth, sizeof(doublewidth), c)) + if (intable(doublewidth, ARRAY_SIZE(doublewidth), c)) return 2; #endif } @@ -1212,7 +1210,7 @@ int utf_char2cells(int c) else if (c >= 0x80 && !vim_isprintc(c)) return 4; /* unprintable, displays <xx> */ - if (c >= 0x80 && *p_ambw == 'd' && intable(ambiguous, sizeof(ambiguous), c)) + if (c >= 0x80 && *p_ambw == 'd' && intable(ambiguous, ARRAY_SIZE(ambiguous), c)) return 2; return 1; @@ -2026,7 +2024,7 @@ bool utf_iscomposing(int c) {0xe0100, 0xe01ef} }; - return intable(combining, sizeof(combining), c); + return intable(combining, ARRAY_SIZE(combining), c); } /* @@ -2050,7 +2048,7 @@ bool utf_printable(int c) {0xfffe, 0xffff} }; - return !intable(nonprint, sizeof(nonprint), c); + return !intable(nonprint, ARRAY_SIZE(nonprint), c); #endif } @@ -2138,7 +2136,7 @@ int utf_class(int c) {0x2f800, 0x2fa1f, 0x4e00}, /* CJK Ideographs */ }; int bot = 0; - int top = sizeof(classes) / sizeof(struct clinterval) - 1; + int top = ARRAY_SIZE(classes) - 1; int mid; /* First quick check for Latin1 characters, use 'iskeyword'. */ @@ -2346,13 +2344,12 @@ static convertStruct foldCase[] = * Return the converted equivalent of "a", which is a UCS-4 character. Use * the given conversion "table". Uses binary search on "table". */ -static int utf_convert(int a, convertStruct *table, int tableSize) +static int utf_convert(int a, convertStruct *table, size_t n_items) { - int start, mid, end; /* indices into table */ - int entries = tableSize / sizeof(convertStruct); + size_t start, mid, end; /* indices into table */ start = 0; - end = entries; + end = n_items; while (start < end) { /* need to search further */ mid = (end + start) / 2; @@ -2361,7 +2358,7 @@ static int utf_convert(int a, convertStruct *table, int tableSize) else end = mid; } - if (start < entries + if (start < n_items && table[start].rangeStart <= a && a <= table[start].rangeEnd && (a - table[start].rangeStart) % table[start].step == 0) @@ -2376,7 +2373,7 @@ static int utf_convert(int a, convertStruct *table, int tableSize) */ int utf_fold(int a) { - return utf_convert(a, foldCase, (int)sizeof(foldCase)); + return utf_convert(a, foldCase, ARRAY_SIZE(foldCase)); } static convertStruct toLower[] = @@ -2702,7 +2699,7 @@ int utf_toupper(int a) return TOUPPER_LOC(a); /* For any other characters use the above mapping table. */ - return utf_convert(a, toUpper, (int)sizeof(toUpper)); + return utf_convert(a, toUpper, ARRAY_SIZE(toUpper)); } bool utf_islower(int a) @@ -2732,7 +2729,7 @@ int utf_tolower(int a) return TOLOWER_LOC(a); /* For any other characters use the above mapping table. */ - return utf_convert(a, toLower, (int)sizeof(toLower)); + return utf_convert(a, toLower, ARRAY_SIZE(toLower)); } bool utf_isupper(int a) |