aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-02-10 18:45:21 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-02-10 18:45:21 +0100
commitda0241ba3981d7fac30d388af3ecf728bc65ee02 (patch)
treea7bcaa2bb9a4f1f4f4a26458caf3a4ad60d3bbcc /main.c
parent63416763507c87567bbf5dc70b4c68094984fc53 (diff)
downloadvis-da0241ba3981d7fac30d388af3ecf728bc65ee02.tar.gz
vis-da0241ba3981d7fac30d388af3ecf728bc65ee02.tar.xz
vis: make t, T, f and F work for special keys
Fix #491
Diffstat (limited to 'main.c')
-rw-r--r--main.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/main.c b/main.c
index d84c7da..a576a44 100644
--- a/main.c
+++ b/main.c
@@ -1721,16 +1721,12 @@ static const char *movement_key(Vis *vis, const char *keys, const Arg *arg) {
return NULL;
}
- char key[32];
- const char *next;
- if (!(next = vis_keys_next(vis, keys)))
+ const char *next = vis_keys_next(vis, keys);
+ if (!next)
return NULL;
- size_t len = next - keys;
- if (len < sizeof key) {
- strncpy(key, keys, len);
- key[len] = '\0';
- vis_motion(vis, arg->i, key);
- }
+ char utf8[UTFmax+1];
+ if (vis_keys_utf8(vis, keys, utf8))
+ vis_motion(vis, arg->i, utf8);
return next;
}