diff options
author | nicm <nicm> | 2020-06-02 19:10:26 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-06-02 19:10:26 +0000 |
commit | 5fbae8c8c6fb0750ef940071224a54db62b9f1db (patch) | |
tree | 910f9308f50a1d0e0e3c3396fcc2c21ae8648268 /window-copy.c | |
parent | 7e501f1993cc1e4b8344643bcee449cc8c958d7e (diff) | |
download | rtmux-5fbae8c8c6fb0750ef940071224a54db62b9f1db.tar.gz rtmux-5fbae8c8c6fb0750ef940071224a54db62b9f1db.tar.bz2 rtmux-5fbae8c8c6fb0750ef940071224a54db62b9f1db.zip |
Fire copy-pipe command even if there is no text, means it works if it
has side effects.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/window-copy.c b/window-copy.c index af80186b..984a4e3d 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 |