aboutsummaryrefslogtreecommitdiff
path: root/vis-cmds.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-12-27 23:22:01 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-12-27 23:29:04 +0100
commitf52050784e7e1426eafb5e69bc2fa37219415406 (patch)
tree52ce0d5e3137ac77969ddb256a32e26910c43c98 /vis-cmds.c
parentb7c6c43b64dd88a3f3cff692bf224654aef9b1e2 (diff)
downloadvis-f52050784e7e1426eafb5e69bc2fa37219415406.tar.gz
vis-f52050784e7e1426eafb5e69bc2fa37219415406.tar.xz
vis: properly free dynamic key bindings
The handling of :unmap needs to be revisited at some point.
Diffstat (limited to 'vis-cmds.c')
-rw-r--r--vis-cmds.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vis-cmds.c b/vis-cmds.c
index 606699c..969eec7 100644
--- a/vis-cmds.c
+++ b/vis-cmds.c
@@ -791,7 +791,7 @@ static bool cmd_map(Vis *vis, Win *win, Command *cmd, const char *argv[], Cursor
const char *lhs = argv[2];
char *rhs = strdup(argv[3]);
- if (!rhs || !(binding = calloc(1, sizeof *binding)))
+ if (!rhs || !(binding = vis_binding_new(vis)))
goto err;
binding->alias = rhs;
@@ -804,7 +804,7 @@ static bool cmd_map(Vis *vis, Win *win, Command *cmd, const char *argv[], Cursor
err:
if (!mapped) {
free(rhs);
- free(binding);
+ vis_binding_free(vis, binding);
}
return mapped;
}