From 3b07039fecbab82ecdefbdb2c064a839d506431a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Thu, 2 Feb 2017 13:12:15 +0100 Subject: Slight code cleanups, use buffer API where appropriate --- main.c | 5 ++--- sam.c | 10 +++------- vis.c | 10 +++++++--- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/main.c b/main.c index 100862c..2e1eeb5 100644 --- a/main.c +++ b/main.c @@ -2150,8 +2150,8 @@ static char *get_completion_prefix(Vis *vis, Filerange (*text_object)(Text *, si } static void insert_dialog_selection(Vis *vis, Filerange *range, const char *argv[]) { - char *out = NULL, *err = NULL; - if (vis_pipe_collect(vis, range, argv, &out, &err) == 0) { + char *out = NULL; + if (vis_pipe_collect(vis, range, argv, &out, NULL) == 0) { View *view = vis_view(vis); size_t len = out ? strlen(out) : 0; for (Cursor *c = view_cursors(view); c; c = view_cursors_next(c)) { @@ -2164,7 +2164,6 @@ static void insert_dialog_selection(Vis *vis, Filerange *range, const char *argv } vis_draw(vis); free(out); - free(err); } static const char *complete_word(Vis *vis, const char *keys, const Arg *arg) { diff --git a/sam.c b/sam.c index af895fc..aa0580a 100644 --- a/sam.c +++ b/sam.c @@ -572,8 +572,7 @@ static char *parse_until(const char **s, const char *until, const char *escchars } } - if (buffer_length(&buf)) - buffer_append(&buf, "\0", 1); + buffer_terminate(&buf); return buffer_move(&buf); } @@ -643,8 +642,7 @@ static char *parse_cmdname(const char **s) { while (**s && !isspace((unsigned char)**s) && (!ispunct((unsigned char)**s) || **s == '-')) buffer_append(&buf, (*s)++, 1); - if (buffer_length(&buf)) - buffer_append(&buf, "\0", 1); + buffer_terminate(&buf); return buffer_move(&buf); } @@ -1627,9 +1625,7 @@ static bool cmd_pipeout(Vis *vis, Win *win, Command *cmd, const char *argv[], Cu if (vis->cancel_filter) vis_info_show(vis, "Command cancelled"); - else if (status == 0) - ; //vis_info_show(vis, "Command succeded"); - else + else if (status != 0) vis_info_show(vis, "Command failed %s", buffer_content0(&buferr)); buffer_release(&buferr); diff --git a/vis.c b/vis.c index 26e82e8..1f4d9a5 100644 --- a/vis.c +++ b/vis.c @@ -1666,13 +1666,17 @@ int vis_pipe_collect(Vis *vis, Filerange *range, const char *argv[], char **out, Buffer bufout, buferr; buffer_init(&bufout); buffer_init(&buferr); - int status = vis_pipe(vis, range, argv, &bufout, read_buffer, &buferr, read_buffer); + int status = vis_pipe(vis, range, argv, + &bufout, out ? read_buffer : NULL, + &buferr, err ? read_buffer : NULL); buffer_terminate(&bufout); buffer_terminate(&buferr); if (out) - *out = bufout.data; + *out = buffer_move(&bufout); if (err) - *err = buferr.data; + *err = buffer_move(&buferr); + buffer_release(&bufout); + buffer_release(&buferr); return status; } -- cgit v1.2.3