aboutsummaryrefslogtreecommitdiffstats
path: root/extcap_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'extcap_parser.c')
-rw-r--r--extcap_parser.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/extcap_parser.c b/extcap_parser.c
index 4228bc5bd3..154e4aa068 100644
--- a/extcap_parser.c
+++ b/extcap_parser.c
@@ -345,6 +345,8 @@ extcap_token_sentence *extcap_tokenize_sentence(const gchar *s) {
tv->param_type = EXTCAP_PARAM_ENABLED;
} else if (g_ascii_strcasecmp(tv->arg, "parent") == 0) {
tv->param_type = EXTCAP_PARAM_PARENT;
+ } else if (g_ascii_strcasecmp(tv->arg, "required") == 0) {
+ tv->param_type = EXTCAP_PARAM_REQUIRED;
} else {
tv->param_type = EXTCAP_PARAM_UNKNOWN;
}
@@ -475,6 +477,7 @@ extcap_arg *extcap_new_arg(void) {
r->range_end = NULL;
r->default_complex = NULL;
r->fileexists = FALSE;
+ r->is_required = FALSE;
r->values = NULL;
/*r->next_arg = NULL; */
@@ -591,6 +594,11 @@ extcap_arg *extcap_parse_arg_sentence(GList * args, extcap_token_sentence *s) {
target_arg->fileexists = (v->value[0] == 't' || v->value[0] == 'T');
}
+ if ((v = extcap_find_param_by_type(s->param_list, EXTCAP_PARAM_REQUIRED))
+ != NULL) {
+ target_arg->is_required = (v->value[0] == 't' || v->value[0] == 'T');
+ }
+
if ((v = extcap_find_param_by_type(s->param_list, EXTCAP_PARAM_TYPE))
== NULL) {
/* printf("no type in ARG sentence\n"); */