diff options
Diffstat (limited to 'src/cli_parser.c')
-rw-r--r-- | src/cli_parser.c | 22 |
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); +} |