vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit 93b304d3ac3cea20b45c75ad7d2efca4478dc41d
parent d4cced92154cc8b4e66c3eefb11feaa8d9be67f8
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Sat,  2 Apr 2016 09:13:32 +0200

sam: restructure code to avoid useless goto

Diffstat:
Msam.c | 21++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/sam.c b/sam.c @@ -900,15 +900,11 @@ static bool cmd_files(Vis *vis, Win *win, Command *cmd, const char *argv[], File } static bool cmd_substitute(Vis *vis, Win *win, Command *cmd, const char *argv[], Filerange *range) { - bool ret = false; Buffer buf; buffer_init(&buf); - - if (!buffer_put0(&buf, "s") || !buffer_append0(&buf, argv[1])) - goto out; - - ret = cmd_filter(vis, win, cmd, (const char*[]){ argv[0], "sed", buf.data, NULL }, range); -out: + bool ret = false; + if (buffer_put0(&buf, "s") && buffer_append0(&buf, argv[1])) + ret = cmd_filter(vis, win, cmd, (const char*[]){ argv[0], "sed", buf.data, NULL }, range); buffer_release(&buf); return ret; } @@ -961,16 +957,11 @@ static bool cmd_write(Vis *vis, Win *win, Command *cmd, const char *argv[], File } static bool cmd_read(Vis *vis, Win *win, Command *cmd, const char *argv[], Filerange *range) { - - bool ret = false; Buffer buf; buffer_init(&buf); - - if (!buffer_put0(&buf, "cat ") || !buffer_append0(&buf, argv[1])) - goto out; - - ret = cmd_pipein(vis, win, cmd, (const char*[]){ argv[0], buf.data, NULL }, range); -out: + bool ret = false; + if (buffer_put0(&buf, "cat ") && buffer_append0(&buf, argv[1])) + ret = cmd_pipein(vis, win, cmd, (const char*[]){ argv[0], buf.data, NULL }, range); buffer_release(&buf); return ret; }