aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mbyte.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/mbyte.c')
-rw-r--r--src/nvim/mbyte.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c
index db4516527a..429fbc7427 100644
--- a/src/nvim/mbyte.c
+++ b/src/nvim/mbyte.c
@@ -925,9 +925,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 +937,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 +1204,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 +1212,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 +2026,7 @@ bool utf_iscomposing(int c)
{0xe0100, 0xe01ef}
};
- return intable(combining, sizeof(combining), c);
+ return intable(combining, ARRAY_SIZE(combining), c);
}
/*
@@ -2050,7 +2050,7 @@ bool utf_printable(int c)
{0xfffe, 0xffff}
};
- return !intable(nonprint, sizeof(nonprint), c);
+ return !intable(nonprint, ARRAY_SIZE(nonprint), c);
#endif
}
@@ -2138,7 +2138,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 +2346,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 +2360,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 +2375,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 +2701,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 +2731,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)