Exemplo n.º 1
0
int unicode_lbc_next(unicode_lbc_info_t i, unicode_char ch)
{
	if (i->buf_ptr >= unicode_buf_len(&i->buf))
	{
		i->buf_ptr=0;
		unicode_buf_clear(&i->buf);
	}

	unicode_buf_append(&i->buf, &ch, 1);
	return unicode_lb_next(i->handle, ch);
}
Exemplo n.º 2
0
void unicode_buf_append_char(struct unicode_buf *dst,
			     const char *str,
			     size_t cnt)
{
	unicode_char unicode_buf[256];

	while (cnt)
	{
		size_t n=sizeof(unicode_buf)/sizeof(unicode_buf[0]), i;

		if (n > cnt)
			n=cnt;

		for (i=0; i<n; ++i)
			unicode_buf[i]=(unsigned char)str[i];

		str += n;
		cnt -= n;
		unicode_buf_append(dst, unicode_buf, i);
	}
}