summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Viennot <nicolas@viennot.biz>2016-01-05 10:53:28 -0500
committerNicolas Viennot <nicolas@viennot.biz>2016-01-05 17:52:15 -0500
commita397be388cc3552304fcb1f7195e660eeca6b8ae (patch)
tree6f9e93a372177565e41996a875045bdac170d307
parent0a3bd83b19c218379232a910dcff6a51ceb732d2 (diff)
Simplify find_window_pane() code2.2.0
-rw-r--r--tmate-decoder.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/tmate-decoder.c b/tmate-decoder.c
index c387b362..d4646ac7 100644
--- a/tmate-decoder.c
+++ b/tmate-decoder.c
@@ -36,31 +36,15 @@ static void handle_legacy_pane_key(__unused struct tmate_session *_session,
static struct window_pane *find_window_pane(struct session *s, int pane_id)
{
struct window *w;
- struct window_pane *wp;
- struct winlink *wl;
+
+ if (pane_id != -1)
+ return window_pane_find_by_id(pane_id);
w = s->curw->window;
if (!w)
- goto slow_path;
-
- wp = w->active;
- if (!wp)
- goto slow_path;
- if (pane_id == -1 || (int)wp->id == pane_id)
- return wp;
-
-slow_path:
- if (pane_id == -1)
return NULL;
- RB_FOREACH(wl, winlinks, &s->windows) {
- TAILQ_FOREACH(wp, &wl->window->panes, entry) {
- if ((int)wp->id == pane_id)
- return wp;
- }
- }
-
- return NULL;
+ return w->active;
}
static void handle_pane_key(__unused struct tmate_session *_session,