summaryrefslogtreecommitdiffstats
path: root/cmd-load-buffer.c
diff options
context:
space:
mode:
authornicm <nicm>2018-07-11 08:29:21 +0000
committernicm <nicm>2018-07-11 08:29:21 +0000
commitcfc81692e64fee9b64ae72dbd978096bed435ab1 (patch)
tree347858ed10422dc038db1ebee28e6512c0c98869 /cmd-load-buffer.c
parente7d53020b44c33dfee9080db142e973c434ba8a5 (diff)
Expand formats in load-buffer and save-buffer.
Diffstat (limited to 'cmd-load-buffer.c')
-rw-r--r--cmd-load-buffer.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index 74f97d1d..6920a21a 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -56,11 +56,14 @@ cmd_load_buffer_exec(struct cmd *self, struct cmdq_item *item)
{
struct args *args = self->args;
struct cmd_load_buffer_data *cdata;
- struct client *c = item->client;
+ struct client *c = cmd_find_client(item, NULL, 1);
+ struct session *s = item->target.s;
+ struct winlink *wl = item->target.wl;
+ struct window_pane *wp = item->target.wp;
FILE *f;
- const char *path, *bufname;
+ const char *bufname;
char *pdata = NULL, *new_pdata, *cause;
- char *file;
+ char *path, *file;
size_t psize;
int ch, error;
@@ -68,8 +71,11 @@ cmd_load_buffer_exec(struct cmd *self, struct cmdq_item *item)
if (args_has(args, 'b'))
bufname = args_get(args, 'b');
- path = args->argv[0];
+ path = format_single(item, args->argv[0], c, s, wl, wp);
if (strcmp(path, "-") == 0) {
+ free(path);
+ c = item->client;
+
cdata = xcalloc(1, sizeof *cdata);
cdata->item = item;