summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpgen <p.gen.progs@gmail.com>2018-12-22 00:21:06 +0100
committerpgen <p.gen.progs@gmail.com>2019-01-20 10:49:46 +0100
commita710b60a4226fe4c066b81fab6de4cf9636637ae (patch)
treeb1bca4729bddf7b830f4003e2efdabbac0f4c6ef
parent573c5896a34710de08d61cd6e6df4775cc7f0c3a (diff)
Rewrite the utf8_get_length function
One-byte character processing is now done first.
-rw-r--r--utf8.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/utf8.c b/utf8.c
index ddff417..dfaba2c 100644
--- a/utf8.c
+++ b/utf8.c
@@ -152,14 +152,14 @@ utf8_interpret(char * s, langinfo_t * langinfo)
int
utf8_get_length(unsigned char c)
{
- if (c >= 0xf0)
- return 4;
- else if (c >= 0xe0)
- return 3;
- else if (c >= 0xc2)
+ if (c < 0x80)
+ return 1;
+ else if (c < 0xe0)
return 2;
+ else if (c < 0xf0)
+ return 3;
else
- return 1;
+ return 4;
}
/* ================================================== */