aboutsummaryrefslogtreecommitdiff
path: root/sys/libunicode/fullrune.c
blob: e5cf3142f76ef401ffa5648c79f20842cf019710 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "internal.h"

int
utf8ยทfullrune(byte* s, int n)
{
    int  i;
    rune c;

    if (n <= 0) return 0;
    c = *(ubyte*) s;
    if (c < Tx) return 1;

    for (i = 3; i < UTFmax + 1; i++) {
        if (c < Tbyte(i)) return n >= i - 1;
    }

    return n >= UTFmax;
}