diff options
author | nicm <nicm> | 2015-11-20 12:01:19 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-11-20 12:01:19 +0000 |
commit | fce56c56efc57e80cc3ed755c192cf88822ebf0e (patch) | |
tree | ac91bccebcaebc7738e248e4f0564e6ad52078d0 /cmd-set-option.c | |
parent | 374e273df5f66e90e06f60617495446facfbd4f3 (diff) | |
download | rtmux-fce56c56efc57e80cc3ed755c192cf88822ebf0e.tar.gz rtmux-fce56c56efc57e80cc3ed755c192cf88822ebf0e.tar.bz2 rtmux-fce56c56efc57e80cc3ed755c192cf88822ebf0e.zip |
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.c | 14 |
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 { |