From 311c99789605d7536579226743ea369fd799ad57 Mon Sep 17 00:00:00 2001 From: "Eliel C. Sardanons" Date: Mon, 18 May 2009 20:31:29 +0000 Subject: [PATCH] Avoid autocompleting passed the action name argument in the CLI command. When running the autocomplete of the CLI command 'manager show command ' it was autocompleting everything else after the argument, giving an error, because this command doesn't support multiple AMI action names at a time. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195367 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/manager.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/main/manager.c b/main/manager.c index b4067e9145..aacdf4b7e4 100644 --- a/main/manager.c +++ b/main/manager.c @@ -612,17 +612,22 @@ static char *handle_showmancmd(struct ast_cli_entry *e, int cmd, struct ast_cli_ " Shows the detailed description for a specific Asterisk manager interface command.\n"; return NULL; case CLI_GENERATE: - l = strlen(a->word); - which = 0; - AST_RWLIST_RDLOCK(&actions); - AST_RWLIST_TRAVERSE(&actions, cur, list) { - if (!strncasecmp(a->word, cur->action, l) && ++which > a->n) { - ret = ast_strdup(cur->action); - break; /* make sure we exit even if ast_strdup() returns NULL */ + if (a->pos == 3) { + /* autocomplete the action name. */ + l = strlen(a->word); + which = 0; + AST_RWLIST_RDLOCK(&actions); + AST_RWLIST_TRAVERSE(&actions, cur, list) { + if (!strncasecmp(a->word, cur->action, l) && ++which > a->n) { + ret = ast_strdup(cur->action); + break; /* make sure we exit even if ast_strdup() returns NULL */ + } } + AST_RWLIST_UNLOCK(&actions); + return ret; } - AST_RWLIST_UNLOCK(&actions); - return ret; + + return NULL; } authority = ast_str_alloca(80); if (a->argc != 4) {