aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2020-06-02 22:01:20 +0100
committerThomas Adam <thomas@xteddy.org>2020-06-02 22:01:20 +0100
commit3d5decb305a960edb0ca3d91ceec3929dcbc8c3e (patch)
treee25cda1f5ab7f5f8788d8d1bee0a78340fb32204 /window-copy.c
parentebe866c378bc5ecd123d3f0d89cf5d3cbc87c9f2 (diff)
parent2a4d4bda2b94602e9f999ff0b59efa92613f75a9 (diff)
downloadrtmux-3d5decb305a960edb0ca3d91ceec3929dcbc8c3e.tar.gz
rtmux-3d5decb305a960edb0ca3d91ceec3929dcbc8c3e.tar.bz2
rtmux-3d5decb305a960edb0ca3d91ceec3929dcbc8c3e.zip
Merge branch 'obsd-master'
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/window-copy.c b/window-copy.c
index af80186b..20f351aa 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -3628,6 +3628,8 @@ window_copy_get_selection(struct window_mode_entry *wme, size_t *len)
buf = window_copy_match_at_cursor(data);
if (buf != NULL)
*len = strlen(buf);
+ else
+ *len = 0;
return (buf);
}
@@ -3719,6 +3721,7 @@ window_copy_get_selection(struct window_mode_entry *wme, size_t *len)
/* Don't bother if no data. */
if (off == 0) {
free(buf);
+ *len = 0;
return (NULL);
}
if (keys == MODEKEY_EMACS || lastex <= ey_last)
@@ -3753,9 +3756,6 @@ window_copy_copy_pipe(struct window_mode_entry *wme, struct session *s,
struct job *job;
buf = window_copy_get_selection(wme, &len);
- if (buf == NULL)
- return;
-
if (cmd == NULL || *cmd == '\0')
cmd = options_get_string(global_options, "copy-command");
if (cmd != NULL && *cmd != '\0') {
@@ -3763,7 +3763,8 @@ window_copy_copy_pipe(struct window_mode_entry *wme, struct session *s,
-1, -1);
bufferevent_write(job_get_event(job), buf, len);
}
- window_copy_copy_buffer(wme, prefix, buf, len);
+ if (buf != NULL)
+ window_copy_copy_buffer(wme, prefix, buf, len);
}
static void