summaryrefslogtreecommitdiffhomepage
path: root/src/utf8code.c
diff options
context:
space:
mode:
authorTyge Lovset <[email protected]>2022-05-31 07:06:15 +0200
committerTyge Lovset <[email protected]>2022-05-31 07:06:15 +0200
commit0a92ec2235b5f42e93012be14938bb11e3f3650a (patch)
tree84366f6da2684388c4f3eadd33d35d0272beffe1 /src/utf8code.c
parentb09f435cf7fe7a8b4d976b921384c6176381cc7f (diff)
downloadSTC-modified-0a92ec2235b5f42e93012be14938bb11e3f3650a.tar.gz
STC-modified-0a92ec2235b5f42e93012be14938bb11e3f3650a.zip
cleanup of icmp impl.
Diffstat (limited to 'src/utf8code.c')
-rw-r--r--src/utf8code.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/utf8code.c b/src/utf8code.c
index 2f429541..543070c3 100644
--- a/src/utf8code.c
+++ b/src/utf8code.c
@@ -99,18 +99,28 @@ uint32_t utf8_toupper(uint32_t c) {
}
return c;
}
-
+/*
+int utf8_icmp(const char* s1, const char* s2) {
+ utf8_decode_t d1 = {UTF8_OK}, d2 = {UTF8_OK};
+ for (;; s1 += d1.size, s2 += d2.size) {
+ utf8_peek(&d1, s1);
+ utf8_peek(&d2, s2);
+ int c = utf8_tolower(d1.codep) - utf8_tolower(d2.codep);
+ if (c || !*s2)
+ return c;
+ }
+}
+*/
int utf8_icmp_n(size_t u8max, const char* s1, const size_t n1,
const char* s2, const size_t n2) {
- int ret = 0;
utf8_decode_t d1 = {UTF8_OK}, d2 = {UTF8_OK};
size_t j1 = 0, j2 = 0;
for (; u8max-- && ((j1 < n1) & (j2 < n2)); j1 += d1.size, j2 += d2.size) {
- utf8_peek(&d1, s1+j1);
- utf8_peek(&d2, s2+j2);
- ret = utf8_tolower(d1.codep) - utf8_tolower(d2.codep);
- if (ret || !s2[j2])
- return ret;
+ utf8_peek(&d1, s1 + j1);
+ utf8_peek(&d2, s2 + j2);
+ int c = utf8_tolower(d1.codep) - utf8_tolower(d2.codep);
+ if (c || !s2[j2])
+ return c;
}
return (j2 < n2) - (j1 < n1);
}