Fix 'remove extension' completion

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
James Golovich
2004-05-01 05:50:51 +00:00
parent c432265ab7
commit 0122a3ea08

View File

@@ -526,17 +526,15 @@ static char *complete_context_remove_extension(char *line, char *word, int pos,
(exten && !strncmp(ast_get_extension_name(e), exten, (exten && !strncmp(ast_get_extension_name(e), exten,
strlen(exten))) ) { /* if input, compare ... */ strlen(exten))) ) { /* if input, compare ... */
if (++which > state) { if (++which > state) {
/* is there some context input? if not, throw back /* If there is an extension then return
* exten@context, if yes throw back only context ... * exten@context.
*/ */
if (!context) { if (exten) {
ret = malloc(strlen(ast_get_extension_name(e)) + ret = malloc(strlen(ast_get_extension_name(e)) +
strlen(ast_get_context_name(c)) + 2); strlen(ast_get_context_name(c)) + 2);
if (ret) if (ret)
sprintf(ret, "%s@%s", ast_get_extension_name(e), sprintf(ret, "%s@%s", ast_get_extension_name(e),
ast_get_context_name(c)); ast_get_context_name(c));
} else {
ret = strdup(ast_get_context_name(c));
} }
free(exten); free(context); free(exten); free(context);