aboutsummaryrefslogtreecommitdiff
path: root/cmd-kill-pane.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2012-07-12 21:04:43 +0000
committerTiago Cunha <tcunha@gmx.com>2012-07-12 21:04:43 +0000
commit81858d7891942e218b203df7ac4f80aa8f48ab7e (patch)
treeb8b0354e421d4bd3c5fb631c82229adc2603e384 /cmd-kill-pane.c
parent7a583b1e54a101942b61fb1c50405c9761c09f7f (diff)
downloadrtmux-81858d7891942e218b203df7ac4f80aa8f48ab7e.tar.gz
rtmux-81858d7891942e218b203df7ac4f80aa8f48ab7e.tar.bz2
rtmux-81858d7891942e218b203df7ac4f80aa8f48ab7e.zip
Now that the queue _SAFE macros are available, use them instead of rolling
our own. This is analogous to the recent changes to the detach-client and kill-{session,window} commands.
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 5d2cb573..4f7af2ea 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);