summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utf8proc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/utf8proc.c b/utf8proc.c
index 6961e4b..c0f84d9 100644
--- a/utf8proc.c
+++ b/utf8proc.c
@@ -631,9 +631,9 @@ UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_normalize_utf32(utf8proc_int32_t *b
current_property->comb_index != UINT16_MAX &&
current_property->comb_index >= 0x8000) {
int sidx = starter_property->comb_index;
- int idx = (current_property->comb_index & 0x3FFF) - utf8proc_combinations[sidx];
- if (idx >= 0 && idx <= utf8proc_combinations[sidx + 1] ) {
- idx += sidx + 2;
+ int idx = current_property->comb_index & 0x3FFF;
+ if (idx >= utf8proc_combinations[sidx] && idx <= utf8proc_combinations[sidx + 1] ) {
+ idx += sidx + 2 - utf8proc_combinations[sidx];
if (current_property->comb_index & 0x4000) {
composition = (utf8proc_combinations[idx] << 16) | utf8proc_combinations[idx+1];
} else