From 63416763507c87567bbf5dc70b4c68094984fc53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Fri, 10 Feb 2017 18:44:55 +0100 Subject: vis: introduce vis_keys_utf8 --- vis.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'vis.c') diff --git a/vis.c b/vis.c index 3e64031..58c1a5c 100644 --- a/vis.c +++ b/vis.c @@ -962,6 +962,15 @@ long vis_keys_codepoint(Vis *vis, const char *keys) { return -1; } +bool vis_keys_utf8(Vis *vis, const char *keys, char utf8[static UTFmax+1]) { + Rune rune = vis_keys_codepoint(vis, keys); + if (rune == (Rune)-1) + return false; + size_t len = runetochar(utf8, &rune); + utf8[len] = '\0'; + return true; +} + static void vis_keys_process(Vis *vis, size_t pos) { Buffer *buf = vis->keys; char *keys = buf->data + pos, *start = keys, *cur = keys, *end = keys, *binding_end = keys;; -- cgit v1.2.3