From: nicm Date: Fri, 1 Sep 2023 18:43:54 +0000 (+0000) Subject: Only compare the actual size of the UTF-8 character, not all of it. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=04fec98fbe1cdc7ed263575b555c167f122bbcba;p=openbsd Only compare the actual size of the UTF-8 character, not all of it. --- diff --git a/usr.bin/tmux/utf8-combined.c b/usr.bin/tmux/utf8-combined.c index c1bdb697854..18dffbf6ff2 100644 --- a/usr.bin/tmux/utf8-combined.c +++ b/usr.bin/tmux/utf8-combined.c @@ -1,4 +1,4 @@ -/* $OpenBSD: utf8-combined.c,v 1.1 2023/09/01 14:29:11 nicm Exp $ */ +/* $OpenBSD: utf8-combined.c,v 1.2 2023/09/01 18:43:54 nicm Exp $ */ /* * Copyright (c) 2023 Nicholas Marriott @@ -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;