From bd5e0a2ba29cf666db474cd9e85dbef1bff050a7 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 22 Dec 2013 12:18:01 +0100 Subject: options: make --msglevel extend previous settings Make it so --msglevel extends previous --msglevel uses, instead of overwriting them. Do this by literally appending the --msglevel option value to the previous one. --- options/m_option.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'options') diff --git a/options/m_option.c b/options/m_option.c index 5b9654c744..5de59500f9 100644 --- a/options/m_option.c +++ b/options/m_option.c @@ -1335,9 +1335,16 @@ static int parse_msglevels(struct mp_log *log, const m_option_t *opt, } } - if (dst) { - talloc_free(VAL(dst)); - VAL(dst) = bstrdup0(NULL, param); + if (dst && param.len) { + char *prev = VAL(dst); + char *new; + if (prev && prev[0]) { + new = talloc_asprintf(NULL, "%s:%.*s", prev, BSTR_P(param)); + } else { + new = bstrdup0(NULL, param); + } + talloc_free(prev); + VAL(dst) = new; } return 1; -- cgit v1.2.3