diff --git a/common/cli_simple.c b/common/cli_simple.c index 353ceeb..6c65cc6 100644 --- a/common/cli_simple.c +++ b/common/cli_simple.c @@ -57,7 +57,7 @@ int cli_simple_parse_line(char *line, char *argv[]) return nargs; } -static void process_macros(const char *input, char *output) +void cli_simple_process_macros(const char *input, char *output) { char c, prev; const char *varname_start = NULL; @@ -236,7 +236,7 @@ int cli_simple_run_command(const char *cmd, int flag) debug_parser("token: \"%s\"\n", token); /* find macros in this token and replace them */ - process_macros(token, finaltoken); + cli_simple_process_macros(token, finaltoken); /* Extract arguments */ argc = cli_simple_parse_line(finaltoken, argv); diff --git a/include/cli.h b/include/cli.h index 6994262..6da7a4a 100644 --- a/include/cli.h +++ b/include/cli.h @@ -31,6 +31,14 @@ void cli_simple_loop(void); int cli_simple_run_command(const char *cmd, int flag); /** + * cli_simple_process_macros() - Expand $() and ${} format env. variables + * + * @param input Input string possible containing $() / ${} vars + * @param output Output string with $() / ${} vars expanded + */ +void cli_simple_process_macros(const char *input, char *output); + +/** * cli_simple_run_command_list() - Execute a list of command * * The commands should be separated by ; or \n and will be executed