version 1.85, 2022/05/30 13:00:18 |
version 1.86, 2022/06/20 07:59:37 |
|
|
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
cfg_finished = 1; |
cfg_finished = 1; |
|
|
if (!RB_EMPTY(&sessions)) |
cfg_show_causes(NULL); |
cfg_show_causes(RB_MIN(sessions, &sessions)); |
|
|
|
if (cfg_item != NULL) |
if (cfg_item != NULL) |
cmdq_continue(cfg_item); |
cmdq_continue(cfg_item); |
|
|
void |
void |
cfg_show_causes(struct session *s) |
cfg_show_causes(struct session *s) |
{ |
{ |
|
struct client *c = TAILQ_FIRST(&clients); |
struct window_pane *wp; |
struct window_pane *wp; |
struct window_mode_entry *wme; |
struct window_mode_entry *wme; |
u_int i; |
u_int i; |
|
|
if (s == NULL || cfg_ncauses == 0) |
if (cfg_ncauses == 0) |
return; |
return; |
|
|
|
if (c != NULL && (c->flags & CLIENT_CONTROL)) { |
|
for (i = 0; i < cfg_ncauses; i++) { |
|
control_write(c, "%%config-error %s", cfg_causes[i]); |
|
free(cfg_causes[i]); |
|
} |
|
goto out; |
|
} |
|
|
|
if (s == NULL) { |
|
if (c != NULL && c->session != NULL) |
|
s = c->session; |
|
else |
|
s = RB_MIN(sessions, &sessions); |
|
} |
|
if (s == NULL || s->attached == 0) /* wait for an attached session */ |
|
return; |
wp = s->curw->window->active; |
wp = s->curw->window->active; |
|
|
wme = TAILQ_FIRST(&wp->modes); |
wme = TAILQ_FIRST(&wp->modes); |
|
|
free(cfg_causes[i]); |
free(cfg_causes[i]); |
} |
} |
|
|
|
out: |
free(cfg_causes); |
free(cfg_causes); |
cfg_causes = NULL; |
cfg_causes = NULL; |
cfg_ncauses = 0; |
cfg_ncauses = 0; |