diff options
Diffstat (limited to 'options')
-rw-r--r-- | options/m_config.c | 16 | ||||
-rw-r--r-- | options/m_property.c | 10 |
2 files changed, 8 insertions, 18 deletions
diff --git a/options/m_config.c b/options/m_config.c index c39f3ab41a..0f112dcefb 100644 --- a/options/m_config.c +++ b/options/m_config.c @@ -115,7 +115,6 @@ static int parse_profile(struct m_config *config, const struct m_option *opt, static int show_profile(struct m_config *config, bstr param) { struct m_profile *p; - int i, j; if (!param.len) return M_OPT_MISSING_PARAM; if (!(p = m_config_get_profile(config, param))) { @@ -126,25 +125,18 @@ static int show_profile(struct m_config *config, bstr param) MP_INFO(config, "Profile %s: %s\n", p->name, p->desc ? p->desc : ""); config->profile_depth++; - for (i = 0; i < p->num_opts; i++) { - char spc[config->profile_depth + 1]; - for (j = 0; j < config->profile_depth; j++) - spc[j] = ' '; - spc[config->profile_depth] = '\0'; - - MP_INFO(config, "%s%s=%s\n", spc, p->opts[2 * i], p->opts[2 * i + 1]); + for (int i = 0; i < p->num_opts; i++) { + MP_INFO(config, "%*s%s=%s\n", config->profile_depth, "", + p->opts[2 * i], p->opts[2 * i + 1]); if (config->profile_depth < MAX_PROFILE_DEPTH && !strcmp(p->opts[2*i], "profile")) { char *e, *list = p->opts[2 * i + 1]; while ((e = strchr(list, ','))) { int l = e - list; - char tmp[l+1]; if (!l) continue; - memcpy(tmp, list, l); - tmp[l] = '\0'; - show_profile(config, bstr0(tmp)); + show_profile(config, (bstr){list, e - list}); list = e + 1; } if (list[0] != '\0') diff --git a/options/m_property.c b/options/m_property.c index 9af3c91081..9318d5b7d2 100644 --- a/options/m_property.c +++ b/options/m_property.c @@ -49,14 +49,12 @@ static struct m_property *m_property_list_find(const struct m_property *list, static int do_action(const struct m_property *prop_list, const char *name, int action, void *arg, void *ctx) { - const char *sep; struct m_property *prop; struct m_property_action_arg ka; - if ((sep = strchr(name, '/')) && sep[1]) { - int len = sep - name; - char base[len + 1]; - memcpy(base, name, len); - base[len] = 0; + const char *sep = strchr(name, '/'); + if (sep && sep[1]) { + char base[128]; + snprintf(base, sizeof(base), "%.*s", (int)(sep - name), name); prop = m_property_list_find(prop_list, base); ka = (struct m_property_action_arg) { .key = sep + 1, |