Make session_has return a flag, returning the first winlink found is a
authornicm <nicm@openbsd.org>
Wed, 22 Apr 2015 15:32:33 +0000 (15:32 +0000)
committernicm <nicm@openbsd.org>
Wed, 22 Apr 2015 15:32:33 +0000 (15:32 +0000)
recipe for errors.

usr.bin/tmux/resize.c
usr.bin/tmux/server-fn.c
usr.bin/tmux/session.c
usr.bin/tmux/tmux.h

index 40f9415..9327079 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: resize.c,v 1.15 2015/04/22 15:30:11 nicm Exp $ */
+/* $OpenBSD: resize.c,v 1.16 2015/04/22 15:32:33 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -104,7 +104,7 @@ recalculate_sizes(void)
                        if (flag)
                                has = s->curw->window == w;
                        else
-                               has = session_has(s, w) != NULL;
+                               has = session_has(s, w);
                        if (has) {
                                if (s->sx < ssx)
                                        ssx = s->sx;
index 808e5f3..b1d72e6 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: server-fn.c,v 1.82 2015/04/21 21:24:49 nicm Exp $ */
+/* $OpenBSD: server-fn.c,v 1.83 2015/04/22 15:32:33 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -199,7 +199,7 @@ server_status_window(struct window *w)
         */
 
        RB_FOREACH(s, sessions, &sessions) {
-               if (session_has(s, w) != NULL)
+               if (session_has(s, w))
                        server_status_session(s);
        }
 }
@@ -268,7 +268,7 @@ server_kill_window(struct window *w)
                s = next_s;
                next_s = RB_NEXT(sessions, &sessions, s);
 
-               if (session_has(s, w) == NULL)
+               if (!session_has(s, w))
                        continue;
                server_unzoom_window(w);
                while ((wl = winlink_find_by_window(&s->windows, w)) != NULL) {
index 94ff3a0..09da65c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.46 2014/10/22 23:18:53 nicm Exp $ */
+/* $OpenBSD: session.c,v 1.47 2015/04/22 15:32:33 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -309,16 +309,16 @@ session_detach(struct session *s, struct winlink *wl)
 }
 
 /* Return if session has window. */
-struct winlink *
+int
 session_has(struct session *s, struct window *w)
 {
        struct winlink  *wl;
 
        RB_FOREACH(wl, winlinks, &s->windows) {
                if (wl->window == w)
-                       return (wl);
+                       return (1);
        }
-       return (NULL);
+       return (0);
 }
 
 struct winlink *
index 2d217c7..9d86f7d 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: tmux.h,v 1.496 2015/04/22 15:30:11 nicm Exp $ */
+/* $OpenBSD: tmux.h,v 1.497 2015/04/22 15:32:33 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -2321,7 +2321,7 @@ struct winlink    *session_new(struct session *, const char *, int, char **,
 struct winlink *session_attach(struct session *, struct window *, int,
                     char **);
 int             session_detach(struct session *, struct winlink *);
-struct winlink *session_has(struct session *, struct window *);
+int             session_has(struct session *, struct window *);
 int             session_next(struct session *, int);
 int             session_previous(struct session *, int);
 int             session_select(struct session *, int);