version 1.34, 2015/04/19 21:34:21 |
version 1.35, 2015/04/25 18:47:01 |
|
|
struct cmd_q *cfg_cmd_q; |
struct cmd_q *cfg_cmd_q; |
int cfg_finished; |
int cfg_finished; |
int cfg_references; |
int cfg_references; |
ARRAY_DECL (, char *) cfg_causes = ARRAY_INITIALIZER; |
char** cfg_causes; |
|
u_int cfg_ncauses; |
struct client *cfg_client; |
struct client *cfg_client; |
|
|
int |
int |
|
|
xvasprintf(&msg, fmt, ap); |
xvasprintf(&msg, fmt, ap); |
va_end (ap); |
va_end (ap); |
|
|
ARRAY_ADD(&cfg_causes, msg); |
cfg_ncauses++; |
|
cfg_causes = xreallocarray(cfg_causes, cfg_ncauses, sizeof *cfg_causes); |
|
cfg_causes[cfg_ncauses - 1] = msg; |
} |
} |
|
|
void |
void |
cfg_print_causes(struct cmd_q *cmdq) |
cfg_print_causes(struct cmd_q *cmdq) |
{ |
{ |
char *cause; |
|
u_int i; |
u_int i; |
|
|
for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) { |
for (i = 0; i < cfg_ncauses; i++) { |
cause = ARRAY_ITEM(&cfg_causes, i); |
cmdq_print(cmdq, "%s", cfg_causes[i]); |
cmdq_print(cmdq, "%s", cause); |
free(cfg_causes[i]); |
free(cause); |
|
} |
} |
ARRAY_FREE(&cfg_causes); |
|
|
free(cfg_causes); |
|
cfg_causes = NULL; |
} |
} |
|
|
void |
void |
cfg_show_causes(struct session *s) |
cfg_show_causes(struct session *s) |
{ |
{ |
struct window_pane *wp; |
struct window_pane *wp; |
char *cause; |
|
u_int i; |
u_int i; |
|
|
if (s == NULL || ARRAY_EMPTY(&cfg_causes)) |
if (s == NULL || cfg_ncauses == 0) |
return; |
return; |
wp = s->curw->window->active; |
wp = s->curw->window->active; |
|
|
window_pane_set_mode(wp, &window_copy_mode); |
window_pane_set_mode(wp, &window_copy_mode); |
window_copy_init_for_output(wp); |
window_copy_init_for_output(wp); |
for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) { |
for (i = 0; i < cfg_ncauses; i++) { |
cause = ARRAY_ITEM(&cfg_causes, i); |
window_copy_add(wp, "%s", cfg_causes[i]); |
window_copy_add(wp, "%s", cause); |
free(cfg_causes[i]); |
free(cause); |
|
} |
} |
ARRAY_FREE(&cfg_causes); |
|
|
free(cfg_causes); |
|
cfg_causes = NULL; |
} |
} |