1 #include "lib9.h" 2 3 int utfnlen(char * s,long m)4utfnlen(char *s, long m) 5 { 6 int c; 7 long n; 8 Rune rune; 9 char *es; 10 11 es = s + m; 12 for(n = 0; s < es; n++) { 13 c = *(uchar*)s; 14 if(c < Runeself){ 15 if(c == '\0') 16 break; 17 s++; 18 continue; 19 } 20 if(!fullrune(s, es-s)) 21 break; 22 s += chartorune(&rune, s); 23 } 24 return n; 25 } 26