From 1724f24a0c8795e461f7acf8ca94ecae145da96b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 30 Apr 2016 16:45:49 +0200 Subject: vis: cleanup input handling, improve macro replay --- main.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index b27c11e..5272bd7 100644 --- a/main.c +++ b/main.c @@ -1619,14 +1619,10 @@ static const char *replace(Vis *vis, const char *keys, const Arg *arg) { const char *next = vis_keys_next(vis, keys); if (!next) return NULL; - size_t len = next - keys; - char key[len+1]; - memcpy(key, keys, len); - key[len] = '\0'; vis_operator(vis, VIS_OP_REPLACE); vis_motion(vis, VIS_MOVE_NOP); - vis_keys_inject(vis, next, key); - vis_keys_inject(vis, next+len, ""); + vis_keys_push(vis, keys); + vis_keys_push(vis, ""); return next; } @@ -1948,10 +1944,10 @@ static const char *openline(Vis *vis, const char *keys, const Arg *arg) { vis_operator(vis, VIS_OP_INSERT); if (arg->i > 0) { vis_motion(vis, VIS_MOVE_LINE_END); - vis_keys_inject(vis, keys, ""); + vis_keys_push(vis, ""); } else { vis_motion(vis, VIS_MOVE_LINE_BEGIN); - vis_keys_inject(vis, keys, ""); + vis_keys_push(vis, ""); } return keys; } -- cgit v1.2.3