aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server.c1
-rw-r--r--tmux.h1
-rw-r--r--window.c16
3 files changed, 6 insertions, 12 deletions
diff --git a/server.c b/server.c
index c8101775..bb96d9af 100644
--- a/server.c
+++ b/server.c
@@ -389,6 +389,7 @@ void
server_signal_callback(int sig, unused short events, unused void *data)
{
int fd;
+
switch (sig) {
case SIGTERM:
server_shutdown = 1;
diff --git a/tmux.h b/tmux.h
index 53fd9b28..52dc1529 100644
--- a/tmux.h
+++ b/tmux.h
@@ -2141,7 +2141,6 @@ struct winlink *winlink_previous_by_number(struct winlink *, struct session *,
int);
void winlink_stack_push(struct winlink_stack *, struct winlink *);
void winlink_stack_remove(struct winlink_stack *, struct winlink *);
-int window_index(struct window *, u_int *);
struct window *window_find_by_id(u_int);
struct window *window_create1(u_int, u_int);
struct window *window_create(const char *, int, char **, const char *,
diff --git a/window.c b/window.c
index 3c8d4955..d8f29026 100644
--- a/window.c
+++ b/window.c
@@ -245,16 +245,6 @@ winlink_stack_remove(struct winlink_stack *stack, struct winlink *wl)
}
}
-int
-window_index(struct window *s, u_int *i)
-{
- for (*i = 0; *i < ARRAY_LENGTH(&windows); (*i)++) {
- if (s == ARRAY_ITEM(&windows, *i))
- return (0);
- }
- return (-1);
-}
-
struct window *
window_find_by_id(u_int id)
{
@@ -341,7 +331,11 @@ window_destroy(struct window *w)
window_unzoom(w);
- if (window_index(w, &i) != 0)
+ for (i = 0; i < ARRAY_LENGTH(&windows); i++) {
+ if (w == ARRAY_ITEM(&windows, i))
+ break;
+ }
+ if (i == ARRAY_LENGTH(&windows))
fatalx("index not found");
ARRAY_SET(&windows, i, NULL);
while (!ARRAY_EMPTY(&windows) && ARRAY_LAST(&windows) == NULL)