summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins2 <jenkins2@gerrit.asterisk.org>2018-03-20 07:58:00 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2018-03-20 07:58:00 -0500
commitbf9631ea0b5efa1e6693811f74d0404794cc7054 (patch)
tree7a62627082c45c8cd2528605181c3deb04e12021
parent650f561bbb211edb7d8adbc52807f26d2a22dbb5 (diff)
parent1136a22a1ece1406d80e520e3d666a9b3cb00e81 (diff)
Merge "main/translate: Use ast_cli_completion_add."
-rw-r--r--main/translate.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/main/translate.c b/main/translate.c
index 226d0985d..396c5522e 100644
--- a/main/translate.c
+++ b/main/translate.c
@@ -900,9 +900,9 @@ const char *ast_translate_path_to_str(struct ast_trans_pvt *p, struct ast_str **
return ast_str_buffer(*str);
}
-static char *complete_trans_path_choice(const char *line, const char *word, int pos, int state)
+static char *complete_trans_path_choice(const char *word)
{
- int i = 1, which = 0;
+ int i = 1;
int wordlen = strlen(word);
struct ast_codec *codec;
@@ -912,13 +912,15 @@ static char *complete_trans_path_choice(const char *line, const char *word, int
ao2_ref(codec, -1);
continue;
}
- if (!strncasecmp(word, codec->name, wordlen) && ++which > state) {
- char *res = ast_strdup(codec->name);
- ao2_ref(codec, -1);
- return res;
+ if (!strncasecmp(word, codec->name, wordlen)) {
+ if (ast_cli_completion_add(ast_strdup(codec->name))) {
+ ao2_ref(codec, -1);
+ break;
+ }
}
ao2_ref(codec, -1);
}
+
return NULL;
}
@@ -1138,10 +1140,10 @@ static char *handle_cli_core_show_translation(struct ast_cli_entry *e, int cmd,
return NULL;
case CLI_GENERATE:
if (a->pos == 3) {
- return ast_cli_complete(a->word, option, a->n);
+ return ast_cli_complete(a->word, option, -1);
}
if (a->pos == 4 && !strcasecmp(a->argv[3], option[1])) {
- return complete_trans_path_choice(a->line, a->word, a->pos, a->n);
+ return complete_trans_path_choice(a->word);
}
/* BUGBUG - add tab completion for sample rates */
return NULL;