diff options
author | nicm <nicm> | 2014-05-13 07:34:35 +0000 |
---|---|---|
committer | nicm <nicm> | 2014-05-13 07:34:35 +0000 |
commit | 3dbacbb62b033c04185fb87da5b0622f0aafee86 (patch) | |
tree | dde33fb1890f249c21d2e5f93943a1e30314f261 /cmd-save-buffer.c | |
parent | f4ffaf5a7fad4c02ad2d08c7b2c80fdec21b64a9 (diff) | |
download | rtmux-3dbacbb62b033c04185fb87da5b0622f0aafee86.tar.gz rtmux-3dbacbb62b033c04185fb87da5b0622f0aafee86.tar.bz2 rtmux-3dbacbb62b033c04185fb87da5b0622f0aafee86.zip |
Add support for named buffers. If you don't name a buffer, things work
much as before - buffers are automatically named "buffer0000",
"buffer0001" and so on and ordered as a stack. Buffers can be named
explicitly when creating ("loadb -b foo" etc) or renamed ("setb -b
buffer0000 -n foo"). If buffers are named explicitly, they are not
deleted when buffer-limit is reached. Diff from J Raynor.
Diffstat (limited to 'cmd-save-buffer.c')
-rw-r--r-- | cmd-save-buffer.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c index 0a1853d4..ea238450 100644 --- a/cmd-save-buffer.c +++ b/cmd-save-buffer.c @@ -59,10 +59,10 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_q *cmdq) struct client *c = cmdq->client; struct session *s; struct paste_buffer *pb; - const char *path; - char *cause, *start, *end, *msg; + const char *path, *bufname; + char *start, *end, *msg; size_t size, used, msglen; - int cwd, fd, buffer; + int cwd, fd; FILE *f; if (!args_has(args, 'b')) { @@ -71,16 +71,10 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_q *cmdq) return (CMD_RETURN_ERROR); } } else { - buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause); - if (cause != NULL) { - cmdq_error(cmdq, "buffer %s", cause); - free(cause); - return (CMD_RETURN_ERROR); - } - - pb = paste_get_index(buffer); + bufname = args_get(args, 'b'); + pb = paste_get_name(bufname); if (pb == NULL) { - cmdq_error(cmdq, "no buffer %d", buffer); + cmdq_error(cmdq, "no buffer %s", bufname); return (CMD_RETURN_ERROR); } } |