diff options
| author | Randy Palamar <randy@rnpnr.xyz> | 2025-01-11 23:39:06 -0700 |
|---|---|---|
| committer | Randy Palamar <randy@rnpnr.xyz> | 2025-01-11 23:49:58 -0700 |
| commit | 0f31ef53420b755c3978818bcd2e5a86e141413d (patch) | |
| tree | 508af7b7016f9aa2fbe766f310a8dfdc446d8a77 /sam.c | |
| parent | abf6384cca0f80fe7dfb35a8e2281d8664d9d459 (diff) | |
| download | vis-0f31ef53420b755c3978818bcd2e5a86e141413d.tar.gz vis-0f31ef53420b755c3978818bcd2e5a86e141413d.tar.xz | |
buffer: clear out one line functions
Buffer is fully exposed to the program, no need to rely on the
linker to optimize useless code.
Diffstat (limited to 'sam.c')
| -rw-r--r-- | sam.c | 26 |
1 files changed, 10 insertions, 16 deletions
@@ -1349,11 +1349,9 @@ static bool cmd_insert(Vis *vis, Win *win, Command *cmd, const char *argv[], Sel if (!win) return false; Buffer buf = text(vis, argv[1]); - size_t len = buffer_length(&buf); - char *data = buffer_move(&buf); - bool ret = sam_insert(win, sel, range->start, data, len, cmd->count.start); + bool ret = sam_insert(win, sel, range->start, buf.data, buf.len, cmd->count.start); if (!ret) - free(data); + free(buf.data); return ret; } @@ -1361,11 +1359,9 @@ static bool cmd_append(Vis *vis, Win *win, Command *cmd, const char *argv[], Sel if (!win) return false; Buffer buf = text(vis, argv[1]); - size_t len = buffer_length(&buf); - char *data = buffer_move(&buf); - bool ret = sam_insert(win, sel, range->end, data, len, cmd->count.start); + bool ret = sam_insert(win, sel, range->end, buf.data, buf.len, cmd->count.start); if (!ret) - free(data); + free(buf.data); return ret; } @@ -1373,11 +1369,9 @@ static bool cmd_change(Vis *vis, Win *win, Command *cmd, const char *argv[], Sel if (!win) return false; Buffer buf = text(vis, argv[1]); - size_t len = buffer_length(&buf); - char *data = buffer_move(&buf); - bool ret = sam_change(win, sel, range, data, len, cmd->count.start); + bool ret = sam_change(win, sel, range, buf.data, buf.len, cmd->count.start); if (!ret) - free(data); + free(buf.data); return ret; } @@ -1751,10 +1745,10 @@ static bool cmd_filter(Vis *vis, Win *win, Command *cmd, const char *argv[], Sel if (vis->interrupted) { vis_info_show(vis, "Command cancelled"); } else if (status == 0) { - size_t len = buffer_length(&bufout); - char *data = buffer_move(&bufout); - if (!sam_change(win, sel, range, data, len, 1)) - free(data); + if (!sam_change(win, sel, range, bufout.data, bufout.len, 1)) { + free(bufout.data); + bufout.data = 0; + } } else { vis_info_show(vis, "Command failed %s", buffer_content0(&buferr)); } |
