diff options
author | Thomas Adam <thomas@xteddy.org> | 2022-12-07 12:01:09 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2022-12-07 12:01:09 +0000 |
commit | 6249a4b8666d02e384d48df8516cc9261aa3b3ad (patch) | |
tree | c08c8d400d482ac22dc4384572cdb5539dda2364 /cmd-save-buffer.c | |
parent | 1536b7e206e51488c37379df22b8c58ef3febc28 (diff) | |
parent | 7e497c7f2303b29b0f44fe360a78c44ca86b87f9 (diff) | |
download | rtmux-6249a4b8666d02e384d48df8516cc9261aa3b3ad.tar.gz rtmux-6249a4b8666d02e384d48df8516cc9261aa3b3ad.tar.bz2 rtmux-6249a4b8666d02e384d48df8516cc9261aa3b3ad.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-save-buffer.c')
-rw-r--r-- | cmd-save-buffer.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c index 7d678372..3e81500d 100644 --- a/cmd-save-buffer.c +++ b/cmd-save-buffer.c @@ -78,7 +78,8 @@ cmd_save_buffer_exec(struct cmd *self, struct cmdq_item *item) int flags; const char *bufname = args_get(args, 'b'), *bufdata; size_t bufsize; - char *path, *tmp; + char *path; + struct evbuffer *evb; if (bufname == NULL) { if ((pb = paste_get_top(NULL)) == NULL) { @@ -96,10 +97,12 @@ cmd_save_buffer_exec(struct cmd *self, struct cmdq_item *item) if (cmd_get_entry(self) == &cmd_show_buffer_entry) { if (c->session != NULL || (c->flags & CLIENT_CONTROL)) { - utf8_stravisx(&tmp, bufdata, bufsize, - VIS_OCTAL|VIS_CSTYLE|VIS_TAB); - cmdq_print(item, "%s", tmp); - free(tmp); + evb = evbuffer_new(); + if (evb == NULL) + fatalx("out of memory"); + evbuffer_add(evb, bufdata, bufsize); + cmdq_print_data(item, 1, evb); + evbuffer_free(evb); return (CMD_RETURN_NORMAL); } path = xstrdup("-"); |