Use RB_FOREACH_SAFE as winlinks are being removed, from Chris Johnsen.

This commit is contained in:
Nicholas Marriott 2012-05-29 08:12:13 +00:00
parent 226f9fa012
commit 63d109fb7f

View File

@ -40,14 +40,14 @@ int
cmd_kill_window_exec(struct cmd *self, struct cmd_ctx *ctx) cmd_kill_window_exec(struct cmd *self, struct cmd_ctx *ctx)
{ {
struct args *args = self->args; struct args *args = self->args;
struct winlink *wl, *wl2; struct winlink *wl, *wl2, *wl3;
struct session *s; struct session *s;
if ((wl = cmd_find_window(ctx, args_get(args, 't'), &s)) == NULL) if ((wl = cmd_find_window(ctx, args_get(args, 't'), &s)) == NULL)
return (-1); return (-1);
if (args_has(args, 'a')) { if (args_has(args, 'a')) {
RB_FOREACH(wl2, winlinks, &s->windows) { RB_FOREACH_SAFE(wl2, winlinks, &s->windows, wl3) {
if (wl != wl2) if (wl != wl2)
server_kill_window(wl2->window); server_kill_window(wl2->window);
} }