aboutsummaryrefslogtreecommitdiff
path: root/sys/libutf/len.c
blob: 8fbd679e83e7c4322b780c38a7876e8d59dc2a90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "internal.h"

int
utf8·len(char *s)
{
    int c;
    long n;
    rune r;

    n = 0;
    for(;;){
        c = *(uchar*)s;
        if(c < Tx){
            if(c == 0)
                return n;
            s++;
        }else
            s += utf8·decode(s, &r);
        n++;
    }
}