aboutsummaryrefslogtreecommitdiff
path: root/vis.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-11-07 08:45:15 +0100
committerMarc André Tanner <mat@brain-dump.org>2015-11-07 08:45:15 +0100
commitf1002cdc6d70bae0c5f68df1d91cd170189d4789 (patch)
treedb9dcbc634e207aa8618f571fd4dc87a67dc8505 /vis.c
parentacced3c57142eb2ad389b0aa247bc361bc627beb (diff)
downloadvis-f1002cdc6d70bae0c5f68df1d91cd170189d4789.tar.gz
vis-f1002cdc6d70bae0c5f68df1d91cd170189d4789.tar.xz
vis: introduce vis_cancel API
Diffstat (limited to 'vis.c')
-rw-r--r--vis.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/vis.c b/vis.c
index 07bcd3c..82532b6 100644
--- a/vis.c
+++ b/vis.c
@@ -660,11 +660,15 @@ static void action_do(Vis *vis, Action *a) {
a->macro = vis->macro_operator;
vis->action_prev = *a;
}
- action_reset(vis, a);
+ action_reset(a);
}
}
-void action_reset(Vis *vis, Action *a) {
+void vis_cancel(Vis *vis) {
+ action_reset(&vis->action);
+}
+
+void action_reset(Action *a) {
memset(a, 0, sizeof(*a));
}
@@ -1034,7 +1038,7 @@ bool vis_motion(Vis *vis, enum VisMotion motion, ...) {
{
const char *pattern = va_arg(ap, char*);
if (text_regex_compile(vis->search_pattern, pattern, REG_EXTENDED)) {
- action_reset(vis, &vis->action);
+ vis_cancel(vis);
goto err;
}
if (motion == MOVE_SEARCH_FORWARD)
@@ -1199,7 +1203,7 @@ void vis_repeat(Vis *vis) {
}
vis->action_prev = action_prev;
}
- action_reset(vis, &vis->action);
+ vis_cancel(vis);
}
void vis_mark_set(Vis *vis, enum VisMark mark, size_t pos) {