summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-12-14 16:27:45 -0500
committerCorey Farrell <git@cfware.com>2017-12-14 15:31:37 -0600
commite41bed371359ef5615f51f0b3d36e434d9401da5 (patch)
treea7a8a9b5016dbe5bdd7a94e918813b1711bb3e48
parentcff0f366867fda31fc689a7b76c9e8fe67080a35 (diff)
res_clialiases: Fix completion pass-through.
Never ignore contents of line when generating completion options. Change-Id: I74389efdfea154019d3b56a9f381610614c044c8
-rw-r--r--res/res_clialiases.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/res/res_clialiases.c b/res/res_clialiases.c
index 1a2fc6939..337c31c97 100644
--- a/res/res_clialiases.c
+++ b/res/res_clialiases.c
@@ -103,7 +103,7 @@ static char *cli_alias_passthrough(struct ast_cli_entry *e, int cmd, struct ast_
struct cli_alias tmp = {
.cli_entry.command = e->command,
};
- char *generator;
+ char *generator = NULL;
const char *line;
/* Try to find the alias based on the CLI entry */
@@ -118,14 +118,10 @@ static char *cli_alias_passthrough(struct ast_cli_entry *e, int cmd, struct ast_
case CLI_GENERATE:
line = a->line;
line += (strlen(alias->alias));
- if (!strncasecmp(alias->alias, alias->real_cmd, strlen(alias->alias))) {
- generator = NULL;
- } else if (!ast_strlen_zero(a->word)) {
+ if (strncasecmp(alias->alias, alias->real_cmd, strlen(alias->alias))) {
struct ast_str *real_cmd = ast_str_alloca(strlen(alias->real_cmd) + strlen(line) + 1);
ast_str_append(&real_cmd, 0, "%s%s", alias->real_cmd, line);
generator = ast_cli_generator(ast_str_buffer(real_cmd), a->word, a->n);
- } else {
- generator = ast_cli_generator(alias->real_cmd, a->word, a->n);
}
ao2_ref(alias, -1);
return generator;