diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/manager.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/main/manager.c b/main/manager.c index aacdf4b7e..b4067e914 100644 --- a/main/manager.c +++ b/main/manager.c @@ -612,22 +612,17 @@ 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: - 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 */ - } + 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; } - - return NULL; + AST_RWLIST_UNLOCK(&actions); + return ret; } authority = ast_str_alloca(80); if (a->argc != 4) { |