summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
Diffstat (limited to 'options')
-rw-r--r--options/m_config.c16
-rw-r--r--options/m_property.c10
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,