Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#include <u.h>
#include <libc.h>

char*
utfrrune(char *s, long c)
{
        long c1;
        Rune r;
        char *s1;

        if(c < Runesync)                /* not part of utf sequence */
                return strrchr(s, c);

        s1 = 0;
        for(;;) {
                c1 = *(uchar*)s;
                if(c1 < Runeself) {     /* one byte rune */
                        if(c1 == 0)
                                return s1;
                        if(c1 == c)
                                s1 = s;
                        s++;
                        continue;
                }
                c1 = chartorune(&r, s);
                if(r == c)
                        s1 = s;
                s += c1;
        }
}