Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli_parser.c')
-rw-r--r--src/cli_parser.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/cli_parser.c b/src/cli_parser.c
index bdca700..6012e8a 100644
--- a/src/cli_parser.c
+++ b/src/cli_parser.c
@@ -1,5 +1,5 @@
/*
-Copyright 2015 Ian Jauslin
+Copyright 2015-2022 Ian Jauslin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -121,3 +121,23 @@ int find_str_arg(char* title, Str_Array str_args){
}
}
+// find a string argument with the specified title
+// namespace support
+int find_str_arg_ns(char* title, Char_Array namespace, Str_Array str_args){
+ Char_Array buffer;
+ int ret;
+
+ // append namespace to title
+ char_array_cpy(namespace,&buffer);
+ char_array_append(':',&buffer);
+ char_array_append_str(title,&buffer);
+
+ // check whether the namespace entry exists
+ ret=find_str_arg(char_array_to_str_noinit(&buffer), str_args);
+ free_Char_Array(buffer);
+ // if not, use global entry
+ if(ret==-1){
+ return(find_str_arg(title, str_args));
+ }
+ return(ret);
+}