summaryrefslogtreecommitdiffstats
path: root/cmd-set-option.c
diff options
context:
space:
mode:
authornicm <nicm>2015-11-20 12:01:19 +0000
committernicm <nicm>2015-11-20 12:01:19 +0000
commitfce56c56efc57e80cc3ed755c192cf88822ebf0e (patch)
treeac91bccebcaebc7738e248e4f0564e6ad52078d0 /cmd-set-option.c
parent374e273df5f66e90e06f60617495446facfbd4f3 (diff)
Instead of separate tables for different types of options, give each
option a scope type (server, session, window) in one table.
Diffstat (limited to 'cmd-set-option.c')
-rw-r--r--cmd-set-option.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/cmd-set-option.c b/cmd-set-option.c
index 894f0c43..7de91aa2 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -84,7 +84,7 @@ enum cmd_retval
cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
- const struct options_table_entry *table, *oe;
+ const struct options_table_entry *oe;
struct session *s;
struct winlink *wl;
struct client *c;
@@ -108,8 +108,8 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
return (cmd_set_option_user(self, cmdq, optstr, valstr));
/* Find the option entry, try each table. */
- table = oe = NULL;
- if (options_table_find(optstr, &table, &oe) != 0) {
+ oe = NULL;
+ if (options_table_find(optstr, &oe) != 0) {
if (!args_has(args, 'q')) {
cmdq_error(cmdq, "ambiguous option: %s", optstr);
return (CMD_RETURN_ERROR);
@@ -124,10 +124,10 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_NORMAL);
}
- /* Work out the tree from the table. */
- if (table == server_options_table)
+ /* Work out the tree from the scope of the option. */
+ if (oe->scope == OPTIONS_TABLE_SERVER)
oo = global_options;
- else if (table == window_options_table) {
+ else if (oe->scope == OPTIONS_TABLE_WINDOW) {
if (args_has(self->args, 'g'))
oo = global_w_options;
else {
@@ -141,7 +141,7 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
}
oo = wl->window->options;
}
- } else if (table == session_options_table) {
+ } else if (oe->scope == OPTIONS_TABLE_SESSION) {
if (args_has(self->args, 'g'))
oo = global_s_options;
else {