From ca8937d7d269c0ef8881d2ac7a227fdb990a5753 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 15 Jan 2014 16:13:07 +0100 Subject: bstr: add function for splitting UTF-8 --- bstr/bstr.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'bstr/bstr.c') diff --git a/bstr/bstr.c b/bstr/bstr.c index aacbdc7dbc..964934a100 100644 --- a/bstr/bstr.c +++ b/bstr/bstr.c @@ -296,6 +296,17 @@ int bstr_decode_utf8(struct bstr s, struct bstr *out_next) return codepoint; } +struct bstr bstr_split_utf8(struct bstr str, struct bstr *out_next) +{ + bstr rest; + int code = bstr_decode_utf8(str, &rest); + if (code < 0) + return (bstr){0}; + if (out_next) + *out_next = rest; + return bstr_splice(str, 0, str.len - rest.len); +} + int bstr_validate_utf8(struct bstr s) { while (s.len) { -- cgit v1.2.3