summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-02-27 15:36:50 +0100
committerwm4 <wm4@nowhere>2015-02-27 18:17:46 +0100
commitb143102f6d0ffe383cca346336bcb745ed029a49 (patch)
treeef217b2e7ba2254f06712979fbd4d8a4b9fa69cc
parentb7bb0de1d96e4e55203cf9a646af5512102daa28 (diff)
downloadmpv-b143102f6d0ffe383cca346336bcb745ed029a49.tar.bz2
mpv-b143102f6d0ffe383cca346336bcb745ed029a49.tar.xz
options: minor simplification in flag option parser
-rw-r--r--options/m_option.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/options/m_option.c b/options/m_option.c
index ca90c52624..699ecb4539 100644
--- a/options/m_option.c
+++ b/options/m_option.c
@@ -124,29 +124,23 @@ static int clamp_flag(const m_option_t *opt, void *val)
static int parse_flag(struct mp_log *log, const m_option_t *opt,
struct bstr name, struct bstr param, void *dst)
{
- if (param.len) {
- if (!bstrcmp0(param, "yes")) {
- if (dst)
- VAL(dst) = 1;
- return 1;
- }
- if (!bstrcmp0(param, "no")) {
- if (dst)
- VAL(dst) = 0;
- return 1;
- }
- mp_fatal(log, "Invalid parameter for %.*s flag: %.*s\n",
- BSTR_P(name), BSTR_P(param));
- mp_info(log, "Valid values are:\n");
- mp_info(log, " yes\n");
- mp_info(log, " no\n");
- mp_info(log, " (passing nothing)\n");
- return M_OPT_INVALID;
- } else {
+ if (bstr_equals0(param, "yes") || !param.len) {
if (dst)
VAL(dst) = 1;
- return 0;
+ return 1;
}
+ if (bstr_equals0(param, "no")) {
+ if (dst)
+ VAL(dst) = 0;
+ return 1;
+ }
+ mp_fatal(log, "Invalid parameter for %.*s flag: %.*s\n",
+ BSTR_P(name), BSTR_P(param));
+ mp_info(log, "Valid values are:\n");
+ mp_info(log, " yes\n");
+ mp_info(log, " no\n");
+ mp_info(log, " (passing nothing)\n");
+ return M_OPT_INVALID;
}
static char *print_flag(const m_option_t *opt, const void *val)