From 579829eef233ec927d9c71692fd880ddef66c2e7 Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 1 Sep 2023 18:43:54 +0000 Subject: [PATCH] Only compare the actual size of the UTF-8 character, not all of it. --- utf8-combined.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utf8-combined.c b/utf8-combined.c index e1b7934f..49f7a648 100644 --- a/utf8-combined.c +++ b/utf8-combined.c @@ -962,7 +962,7 @@ utf8_combined_first_cmp(struct utf8_combined_first *uf1, return (-1); if (ud1->size > ud2->size) return (1); - return (memcmp(ud1->data, ud2->data, sizeof *ud1->data)); + return (memcmp(ud1->data, ud2->data, ud1->size)); } RB_HEAD(utf8_combined_tree, utf8_combined_first); RB_GENERATE_STATIC(utf8_combined_tree, utf8_combined_first, entry, @@ -979,7 +979,7 @@ utf8_combined_second_cmp(const void *vp1, const void *vp2) return (-1); if (ud1->size > ud2->size) return (1); - return (memcmp(ud1->data, ud2->data, sizeof *ud1->data)); + return (memcmp(ud1->data, ud2->data, ud1->size)); } static int @@ -1035,7 +1035,7 @@ utf8_build_combined(void) wc = utf8_combined_table[i].first; mlen = wctomb(first.data, wc); if (mlen <= 0 || mlen > UTF8_SIZE) { - log_debug("invalid combined character %08X", wc); + log_debug("invalid combined character %05X", wc); continue; } first.size = mlen; -- 2.11.4.GIT