sync code with last improvements from OpenBSD
This commit is contained in:
parent
81d24aa0e0
commit
361861c7dd
8 changed files with 257 additions and 85 deletions
|
@ -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 <nicholas.marriott@gmail.com>
|
||||
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue