diff options
Diffstat (limited to 'options/m_option.c')
-rw-r--r-- | options/m_option.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/options/m_option.c b/options/m_option.c index e08cfa882b..b03ad014b8 100644 --- a/options/m_option.c +++ b/options/m_option.c @@ -1996,6 +1996,10 @@ const m_option_type_t m_option_type_geometry = { static int parse_size_box(struct mp_log *log, const m_option_t *opt, struct bstr name, struct bstr param, void *dst) { + bool is_help = bstr_equals0(param, "help"); + if (is_help) + goto error; + struct m_geometry gm; if (!parse_geometry_str(&gm, param)) goto error; @@ -2009,10 +2013,12 @@ static int parse_size_box(struct mp_log *log, const m_option_t *opt, return 1; error: - mp_err(log, "Option %.*s: invalid size: '%.*s'\n", - BSTR_P(name), BSTR_P(param)); - mp_err(log, "Valid format: W[%%][xH[%%]] or empty string\n"); - return M_OPT_INVALID; + if (!is_help) { + mp_err(log, "Option %.*s: invalid size: '%.*s'\n", + BSTR_P(name), BSTR_P(param)); + } + mp_info(log, "Valid format: W[%%][xH[%%]] or empty string\n"); + return is_help ? M_OPT_EXIT : M_OPT_INVALID; } const m_option_type_t m_option_type_size_box = { |