mirror of
https://github.com/tmux/tmux.git
synced 2024-12-14 10:58:48 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
c4a92e5799
29
options.c
29
options.c
@ -741,7 +741,7 @@ options_scope_from_name(struct args *args, int window,
|
|||||||
struct window_pane *wp = fs->wp;
|
struct window_pane *wp = fs->wp;
|
||||||
const char *target = args_get(args, 't');
|
const char *target = args_get(args, 't');
|
||||||
const struct options_table_entry *oe;
|
const struct options_table_entry *oe;
|
||||||
int scope;
|
int scope = OPTIONS_TABLE_NONE;
|
||||||
|
|
||||||
if (*name == '@')
|
if (*name == '@')
|
||||||
return (options_scope_from_flags(args, window, fs, oo, cause));
|
return (options_scope_from_flags(args, window, fs, oo, cause));
|
||||||
@ -754,21 +754,23 @@ options_scope_from_name(struct args *args, int window,
|
|||||||
xasprintf(cause, "unknown option: %s", name);
|
xasprintf(cause, "unknown option: %s", name);
|
||||||
return (OPTIONS_TABLE_NONE);
|
return (OPTIONS_TABLE_NONE);
|
||||||
}
|
}
|
||||||
scope = oe->scope;
|
switch (oe->scope) {
|
||||||
|
|
||||||
switch (scope) {
|
|
||||||
case OPTIONS_TABLE_SERVER:
|
case OPTIONS_TABLE_SERVER:
|
||||||
*oo = global_options;
|
*oo = global_options;
|
||||||
|
scope = OPTIONS_TABLE_SERVER;
|
||||||
break;
|
break;
|
||||||
case OPTIONS_TABLE_SESSION:
|
case OPTIONS_TABLE_SESSION:
|
||||||
if (args_has(args, 'g'))
|
if (args_has(args, 'g')) {
|
||||||
*oo = global_s_options;
|
*oo = global_s_options;
|
||||||
else if (s == NULL && target != NULL)
|
scope = OPTIONS_TABLE_SESSION;
|
||||||
|
} else if (s == NULL && target != NULL)
|
||||||
xasprintf(cause, "no such session: %s", target);
|
xasprintf(cause, "no such session: %s", target);
|
||||||
else if (s == NULL)
|
else if (s == NULL)
|
||||||
xasprintf(cause, "no current session");
|
xasprintf(cause, "no current session");
|
||||||
else
|
else {
|
||||||
*oo = s->options;
|
*oo = s->options;
|
||||||
|
scope = OPTIONS_TABLE_SESSION;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE:
|
case OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE:
|
||||||
if (args_has(args, 'p')) {
|
if (args_has(args, 'p')) {
|
||||||
@ -776,21 +778,26 @@ options_scope_from_name(struct args *args, int window,
|
|||||||
xasprintf(cause, "no such pane: %s", target);
|
xasprintf(cause, "no such pane: %s", target);
|
||||||
else if (wp == NULL)
|
else if (wp == NULL)
|
||||||
xasprintf(cause, "no current pane");
|
xasprintf(cause, "no current pane");
|
||||||
else
|
else {
|
||||||
*oo = wp->options;
|
*oo = wp->options;
|
||||||
|
scope = OPTIONS_TABLE_PANE;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
scope = OPTIONS_TABLE_WINDOW;
|
scope = OPTIONS_TABLE_WINDOW;
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
case OPTIONS_TABLE_WINDOW:
|
case OPTIONS_TABLE_WINDOW:
|
||||||
if (args_has(args, 'g'))
|
if (args_has(args, 'g')) {
|
||||||
*oo = global_w_options;
|
*oo = global_w_options;
|
||||||
else if (wl == NULL && target != NULL)
|
scope = OPTIONS_TABLE_WINDOW;
|
||||||
|
} else if (wl == NULL && target != NULL)
|
||||||
xasprintf(cause, "no such window: %s", target);
|
xasprintf(cause, "no such window: %s", target);
|
||||||
else if (wl == NULL)
|
else if (wl == NULL)
|
||||||
xasprintf(cause, "no current window");
|
xasprintf(cause, "no current window");
|
||||||
else
|
else {
|
||||||
*oo = wl->window->options;
|
*oo = wl->window->options;
|
||||||
|
scope = OPTIONS_TABLE_WINDOW;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return (scope);
|
return (scope);
|
||||||
|
Loading…
Reference in New Issue
Block a user