diff options
author | Thomas Adam <thomas@xteddy.org> | 2017-01-12 16:01:13 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2017-01-12 16:01:13 +0000 |
commit | d4cb178249c6c73c6197e34e871c2b8e803de175 (patch) | |
tree | b2cb82d18531f6b075f28f80d0a30756c6c9567d /cmd-set-option.c | |
parent | 1eb9500644f058113c0b108a049e05efda5e3436 (diff) | |
parent | 24cba5907b5006363ac7f83f31801153f9c23b37 (diff) | |
download | rtmux-d4cb178249c6c73c6197e34e871c2b8e803de175.tar.gz rtmux-d4cb178249c6c73c6197e34e871c2b8e803de175.tar.bz2 rtmux-d4cb178249c6c73c6197e34e871c2b8e803de175.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-set-option.c')
-rw-r--r-- | cmd-set-option.c | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/cmd-set-option.c b/cmd-set-option.c index d1b7f331..ab15eb70 100644 --- a/cmd-set-option.c +++ b/cmd-set-option.c @@ -292,10 +292,8 @@ cmd_set_option_user(struct cmd *self, struct cmdq_item *item, cmdq_error(item, "empty value"); return (CMD_RETURN_ERROR); } - if (o != NULL && args_has(args, 'a')) - options_set_string(oo, optstr, "%s%s", o->str, valstr); - else - options_set_string(oo, optstr, "%s", valstr); + options_set_string(oo, optstr, args_has(args, 'a'), "%s", + valstr); } return (CMD_RETURN_NORMAL); } @@ -316,10 +314,11 @@ cmd_set_option_unset(struct cmd *self, struct cmdq_item *item, if (args_has(args, 'g') || oo == global_options) { switch (oe->type) { case OPTIONS_TABLE_STRING: - options_set_string(oo, oe->name, "%s", oe->default_str); + options_set_string(oo, oe->name, 0, "%s", + oe->default_str); break; case OPTIONS_TABLE_STYLE: - options_set_style(oo, oe->name, oe->default_str, 0); + options_set_style(oo, oe->name, 0, oe->default_str); break; default: options_set_number(oo, oe->name, oe->default_num); @@ -391,20 +390,10 @@ cmd_set_option_string(struct cmd *self, __unused struct cmdq_item *item, const struct options_table_entry *oe, struct options *oo, const char *value) { - struct args *args = self->args; - struct options_entry *o; - char *oldval, *newval; - - if (args_has(args, 'a')) { - oldval = options_get_string(oo, oe->name); - xasprintf(&newval, "%s%s", oldval, value); - } else - newval = xstrdup(value); - - o = options_set_string(oo, oe->name, "%s", newval); + struct args *args = self->args; + int append = args_has(args, 'a'); - free(newval); - return (o); + return (options_set_string(oo, oe->name, append, "%s", value)); } /* Set a number option. */ @@ -544,11 +533,10 @@ cmd_set_option_style(struct cmd *self, struct cmdq_item *item, const char *value) { struct args *args = self->args; + int append = args_has(args, 'a'); struct options_entry *o; - int append; - append = args_has(args, 'a'); - if ((o = options_set_style(oo, oe->name, value, append)) == NULL) { + if ((o = options_set_style(oo, oe->name, append, value)) == NULL) { cmdq_error(item, "bad style: %s", value); return (NULL); } |