12345678910111213141516171819202122232425262728 |
- #include "lib9.h"
- char*
- utfrune(char *s, long c)
- {
- long c1;
- Rune r;
- int n;
- if(c < Runesync) /* not part of utf sequence */
- return strchr(s, c);
- for(;;) {
- c1 = *(uchar*)s;
- if(c1 < Runeself) { /* one byte rune */
- if(c1 == 0)
- return 0;
- if(c1 == c)
- return s;
- s++;
- continue;
- }
- n = chartorune(&r, s);
- if(r == c)
- return s;
- s += n;
- }
- }
|