diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2017-02-10 18:44:55 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2017-02-10 18:44:55 +0100 |
| commit | 63416763507c87567bbf5dc70b4c68094984fc53 (patch) | |
| tree | adff43c3dda43cbb83be0cff166adf4aef61f2ce /vis.c | |
| parent | 5a0ffe77fd777c069edea3b75f88b6baf6a4e6f1 (diff) | |
| download | vis-63416763507c87567bbf5dc70b4c68094984fc53.tar.gz vis-63416763507c87567bbf5dc70b4c68094984fc53.tar.xz | |
vis: introduce vis_keys_utf8
Diffstat (limited to 'vis.c')
| -rw-r--r-- | vis.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -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;; |
