summaryrefslogtreecommitdiffstats
path: root/m_option.h
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2012-01-06 22:26:21 +0100
committerwm4 <wm4@mplayer2.org>2012-01-18 04:33:30 +0100
commit6340b54d5c39d1ef5647c79a98d219cc5d8228d2 (patch)
treec5dd0845a5da1e0ea84105334a92048a84c9b2d5 /m_option.h
parent55560d62ee85f6336c2c38b1b112a4395e22bc14 (diff)
downloadmpv-6340b54d5c39d1ef5647c79a98d219cc5d8228d2.tar.bz2
mpv-6340b54d5c39d1ef5647c79a98d219cc5d8228d2.tar.xz
options: allow choice options without parameter
If an m_option_type_choice option is declared with M_OPT_IMPLICIT_DEFAULT in its flags, it doesn't require a parameter. For example, if --opt is such an option, it can be invoked as "--opt=val", "-opt", or "--opt". The last two will set the option to the first choice the option declares. Note that "-opt val" (using the old option syntax) is not allowed in this case, as it would be ambiguous. Normal option parsing should be unaffected.
Diffstat (limited to 'm_option.h')
-rw-r--r--m_option.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/m_option.h b/m_option.h
index 5b7e051290..10c832d76c 100644
--- a/m_option.h
+++ b/m_option.h
@@ -338,6 +338,11 @@ struct m_option {
// The option should be set during command line pre-parsing
#define M_OPT_PRE_PARSE (1 << 6)
+// Accept an option without parameter, even if the option type normally requires
+// a parameter. The option value will be set to a default value.
+// For m_option_type_choice, the first listed choice will be used.
+#define M_OPT_IMPLICIT_DEFAULT (1 << 7)
+
// These are kept for compatibility with older code.
#define CONF_MIN M_OPT_MIN
#define CONF_MAX M_OPT_MAX