mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 19:16:15 +00:00
CLI: Remove calls to ast_cli_generator.
The ability to add to localized storage cannot be supported by ast_cli_generator. The only calls to ast_cli_generator should be by functions that need to proxy the CLI generator, for example 'cli check permissions' or 'core show help'. * ast_cli_generatornummatches now retrieves the vector of matches and reports the number of elements (not including 'best' match). * test_substitution retrieves and iterates the vector. Change-Id: I8cd6b93905363cf7a33a2d2b0e2a8f8446d9f248
This commit is contained in:
19
main/cli.c
19
main/cli.c
@@ -2475,18 +2475,17 @@ static char *parse_args(const char *s, int *argc, const char *argv[], int max, i
|
||||
/*! \brief Return the number of unique matches for the generator */
|
||||
int ast_cli_generatornummatches(const char *text, const char *word)
|
||||
{
|
||||
int matches = 0, i = 0;
|
||||
char *buf = NULL, *oldbuf = NULL;
|
||||
int matches;
|
||||
struct ast_vector_string *vec = ast_cli_completion_vector(text, word);
|
||||
|
||||
while ((buf = ast_cli_generator(text, word, i++))) {
|
||||
if (!oldbuf || strcmp(buf,oldbuf))
|
||||
matches++;
|
||||
if (oldbuf)
|
||||
ast_free(oldbuf);
|
||||
oldbuf = buf;
|
||||
if (!vec) {
|
||||
return 0;
|
||||
}
|
||||
if (oldbuf)
|
||||
ast_free(oldbuf);
|
||||
|
||||
matches = AST_VECTOR_SIZE(vec) - 1;
|
||||
AST_VECTOR_CALLBACK_VOID(vec, ast_free);
|
||||
AST_VECTOR_PTR_FREE(vec);
|
||||
|
||||
return matches;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user