From ce05175372a9ddca1a225db0765ace1127a39293 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Fri, 12 Nov 2021 09:22:01 -0800 Subject: chore: simplified organizational structure --- src/libutf/canfit.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/libutf/canfit.c (limited to 'src/libutf/canfit.c') diff --git a/src/libutf/canfit.c b/src/libutf/canfit.c new file mode 100644 index 0000000..4579ab3 --- /dev/null +++ b/src/libutf/canfit.c @@ -0,0 +1,23 @@ +#include "internal.h" + +/* returns 1 if string of length n is long enough to be decoded */ +int +utf8·canfit(byte* s, int n) +{ + int i; + rune c; + + if(n <= 0) + return 0; + + c = *(ubyte*)s; + if(c < TByte1) + return 1; + + if(c < TByte3) + return n >= 2; + if(c < TByte4) + return n >= 3; + + return n >= UTFmax; +} -- cgit v1.2.1