sbase/libutf/utftorunestr.c
FRIGN 73577f10a0 Scrap chartorunearr(), introducing utftorunestr()
Interface and function as proposed by cls.

The reasoning behind this function is that cls expressed his
interest to keep memory allocation out of libutf, which is a
very good motive.
This simplifies the function a lot and should also increase the
speed a bit, but the most important factor here is that there's
no malloc anywhere in libutf, making it a lot smaller and more
robust with a smaller attack-surface.

Look at the paste(1) and tr(1) changes for an idiomatic way to
allocate the right amount of space for the Rune-array.
2015-02-11 21:32:09 +01:00

14 lines
217 B
C

/* See LICENSE file for copyright and license details. */
#include "../utf.h"
int
utftorunestr(const char *str, Rune *r)
{
int i, n;
for(i = 0; (n = chartorune(&r[i], str)) && r[i]; i++)
str += n;
return i;
}