diff options
author | Thomas Adam <thomas@xteddy.org> | 2014-01-31 21:39:56 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2014-01-31 21:39:56 +0000 |
commit | d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987 (patch) | |
tree | 397f4999444c2eef367f884b815bec2a14697c3c /cmd-set-option.c | |
parent | cbf9224c5f7bcf07352f6ea128c90c12cb0af22e (diff) | |
parent | 9f02feb9d089b1a4639afb52ab0e8212eeb55a7c (diff) | |
download | rtmux-d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987.tar.gz rtmux-d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987.tar.bz2 rtmux-d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987.zip |
Merge branch 'obsd-master'
Conflicts:
Makefile
cmd-server-info.c
cmd-start-server.c
Diffstat (limited to 'cmd-set-option.c')
-rw-r--r-- | cmd-set-option.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cmd-set-option.c b/cmd-set-option.c index 3acf125d..b760b045 100644 --- a/cmd-set-option.c +++ b/cmd-set-option.c @@ -60,6 +60,9 @@ struct options_entry *cmd_set_option_flag(struct cmd *, struct cmd_q *, struct options_entry *cmd_set_option_choice(struct cmd *, struct cmd_q *, const struct options_table_entry *, struct options *, const char *); +struct options_entry *cmd_set_option_style(struct cmd *, struct cmd_q *, + const struct options_table_entry *, struct options *, + const char *); const struct cmd_entry cmd_set_option_entry = { "set-option", "set", @@ -304,9 +307,11 @@ cmd_set_option_set(struct cmd *self, struct cmd_q *cmdq, break; case OPTIONS_TABLE_COLOUR: o = cmd_set_option_colour(self, cmdq, oe, oo, value); + style_update_new(oo, o->name, oe->style); break; case OPTIONS_TABLE_ATTRIBUTES: o = cmd_set_option_attributes(self, cmdq, oe, oo, value); + style_update_new(oo, o->name, oe->style); break; case OPTIONS_TABLE_FLAG: o = cmd_set_option_flag(self, cmdq, oe, oo, value); @@ -314,6 +319,9 @@ cmd_set_option_set(struct cmd *self, struct cmd_q *cmdq, case OPTIONS_TABLE_CHOICE: o = cmd_set_option_choice(self, cmdq, oe, oo, value); break; + case OPTIONS_TABLE_STYLE: + o = cmd_set_option_style(self, cmdq, oe, oo, value); + break; } if (o == NULL) return (-1); @@ -462,3 +470,23 @@ cmd_set_option_choice(unused struct cmd *self, struct cmd_q *cmdq, return (options_set_number(oo, oe->name, choice)); } + +/* Set a style option. */ +struct options_entry * +cmd_set_option_style(struct cmd *self, struct cmd_q *cmdq, + const struct options_table_entry *oe, struct options *oo, + const char *value) +{ + struct args *args = self->args; + struct options_entry *o; + int append; + + append = args_has(args, 'a'); + if ((o = options_set_style(oo, oe->name, value, append)) == NULL) { + cmdq_error(cmdq, "bad style: %s", value); + return (NULL); + } + + style_update_old(oo, oe->name, &o->style); + return (o); +} |