mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-16 14:58:25 +00:00
Merged revisions 97350 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r97350 | tilghman | 2008-01-08 18:44:14 -0600 (Tue, 08 Jan 2008) | 5 lines Allow filename completion on zero-length modules, remove a memory leak, remove a file descriptor leak, and make filename completion thread-safe. Patched and tested by tilghman. (Closes issue #11681) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
10
main/cli.c
10
main/cli.c
@@ -121,7 +121,7 @@ static AST_RWLIST_HEAD_STATIC(helpers, ast_cli_entry);
|
||||
|
||||
static char *complete_fn(const char *word, int state)
|
||||
{
|
||||
char *c;
|
||||
char *c, *d;
|
||||
char filename[256];
|
||||
|
||||
if (word[0] == '/')
|
||||
@@ -129,13 +129,15 @@ static char *complete_fn(const char *word, int state)
|
||||
else
|
||||
snprintf(filename, sizeof(filename), "%s/%s", ast_config_AST_MODULE_DIR, word);
|
||||
|
||||
/* XXX the following function is not reentrant, so we better not use it */
|
||||
c = filename_completion_function(filename, state);
|
||||
c = d = filename_completion_function(filename, state);
|
||||
|
||||
if (c && word[0] != '/')
|
||||
c += (strlen(ast_config_AST_MODULE_DIR) + 1);
|
||||
if (c)
|
||||
c = ast_strdup(c);
|
||||
free(d);
|
||||
|
||||
return c ? ast_strdup(c) : c;
|
||||
return c;
|
||||
}
|
||||
|
||||
static char *handle_load(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
||||
|
||||
Reference in New Issue
Block a user