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.c37
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)