summaryrefslogtreecommitdiffstats
path: root/cmd-kill-pane.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2012-08-14 08:15:00 +0000
committerNicholas Marriott <nicm@openbsd.org>2012-08-14 08:15:00 +0000
commit6804d5841e53a38e2d4a8d574bcece384efa9499 (patch)
treeb5cc1747396486783bf55bac05eee7673022ac30 /cmd-kill-pane.c
parent20129b7bf91d17e69f818b7cea00255e044354c3 (diff)
Add a patch missed during a merge sometime to use
TAILQ_FOREACH_SAFE. From Tiago Cunha.
Diffstat (limited to 'cmd-kill-pane.c')
-rw-r--r--cmd-kill-pane.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/cmd-kill-pane.c b/cmd-kill-pane.c
index ff8c425f..51989768 100644
--- a/cmd-kill-pane.c
+++ b/cmd-kill-pane.c
@@ -43,7 +43,7 @@ cmd_kill_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
{
struct args *args = self->args;
struct winlink *wl;
- struct window_pane *loopwp, *nextwp, *wp;
+ struct window_pane *loopwp, *tmpwp, *wp;
if ((wl = cmd_find_pane(ctx, args_get(args, 't'), NULL, &wp)) == NULL)
return (CMD_RETURN_ERROR);
@@ -56,14 +56,11 @@ cmd_kill_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
}
if (args_has(self->args, 'a')) {
- loopwp = TAILQ_FIRST(&wl->window->panes);
- while (loopwp != NULL) {
- nextwp = TAILQ_NEXT(loopwp, entry);
- if (loopwp != wp) {
- layout_close_pane(loopwp);
- window_remove_pane(wl->window, loopwp);
- }
- loopwp = nextwp;
+ TAILQ_FOREACH_SAFE(loopwp, &wl->window->panes, entry, tmpwp) {
+ if (loopwp == wp)
+ continue;
+ layout_close_pane(loopwp);
+ window_remove_pane(wl->window, loopwp);
}
} else {
layout_close_pane(wp);