diff options
author | Thomas Adam <thomas@xteddy.org> | 2022-06-04 10:01:09 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2022-06-04 10:01:09 +0100 |
commit | afb3a5fe7180f73457346cf12d096497d93aa642 (patch) | |
tree | 115ee9190ae9ff5af5358fdc0ee1662380145aed | |
parent | e77e11ec6bad1207ab15ee0f148b6a084d9f091c (diff) | |
parent | 020c403dff56269d93625970ed41761520afc853 (diff) | |
download | rtmux-afb3a5fe7180f73457346cf12d096497d93aa642.tar.gz rtmux-afb3a5fe7180f73457346cf12d096497d93aa642.tar.bz2 rtmux-afb3a5fe7180f73457346cf12d096497d93aa642.zip |
Merge branch 'obsd-master'
-rw-r--r-- | cmd-choose-tree.c | 2 | ||||
-rw-r--r-- | paste.c | 8 | ||||
-rw-r--r-- | tmux.h | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c index 7aa1d217..f2f4b2e3 100644 --- a/cmd-choose-tree.c +++ b/cmd-choose-tree.c @@ -100,7 +100,7 @@ cmd_choose_tree_exec(struct cmd *self, struct cmdq_item *item) const struct window_mode *mode; if (cmd_get_entry(self) == &cmd_choose_buffer_entry) { - if (paste_get_top(NULL) == NULL) + if (paste_is_empty()) return (CMD_RETURN_NORMAL); mode = &window_buffer_mode; } else if (cmd_get_entry(self) == &cmd_choose_client_entry) { @@ -111,6 +111,12 @@ paste_walk(struct paste_buffer *pb) return (RB_NEXT(paste_time_tree, &paste_by_time, pb)); } +int +paste_is_empty(void) +{ + return RB_ROOT(&paste_by_time) == NULL; +} + /* Get the most recent automatic buffer. */ struct paste_buffer * paste_get_top(const char **name) @@ -118,6 +124,8 @@ paste_get_top(const char **name) struct paste_buffer *pb; pb = RB_MIN(paste_time_tree, &paste_by_time); + while (pb != NULL && !pb->automatic) + pb = RB_NEXT(paste_time_tree, &paste_by_time, pb); if (pb == NULL) return (NULL); if (name != NULL) @@ -2058,6 +2058,7 @@ u_int paste_buffer_order(struct paste_buffer *); time_t paste_buffer_created(struct paste_buffer *); const char *paste_buffer_data(struct paste_buffer *, size_t *); struct paste_buffer *paste_walk(struct paste_buffer *); +int paste_is_empty(void); struct paste_buffer *paste_get_top(const char **); struct paste_buffer *paste_get_name(const char *); void paste_free(struct paste_buffer *); |