summaryrefslogtreecommitdiff
path: root/main/asterisk.c
diff options
context:
space:
mode:
authorMichiel van Baak <michiel@vanbaak.info>2008-12-10 17:09:15 +0000
committerMichiel van Baak <michiel@vanbaak.info>2008-12-10 17:09:15 +0000
commitc8c8995b705acb272947ab6ddf072a442eba7ea4 (patch)
treea79a97f4472f8e606ac36304d9e344dfd5ff68bb /main/asterisk.c
parent6c569f1e3ac2936b11b3ef4ecd087a5cc5937bb7 (diff)
add tab completion for 'core set debug X filename.c'
(closes issue #13969) Reported by: jtodd Patches: 20081205__bug13969.diff.txt uploaded by Corydon76 (license 14) Tested by: mvanbaak, eliel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/asterisk.c')
-rw-r--r--main/asterisk.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/main/asterisk.c b/main/asterisk.c
index 89fd7a9aa..81e08722c 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -319,6 +319,24 @@ void ast_unregister_file_version(const char *file)
ast_free(find);
}
+char *ast_complete_source_filename(const char *partial, int n)
+{
+ struct file_version *find;
+ size_t len = strlen(partial);
+ int count = 0;
+ char *res = NULL;
+
+ AST_RWLIST_RDLOCK(&file_versions);
+ AST_RWLIST_TRAVERSE(&file_versions, find, list) {
+ if (!strncasecmp(find->file, partial, len) && ++count > n) {
+ res = ast_strdup(find->file);
+ break;
+ }
+ }
+ AST_RWLIST_UNLOCK(&file_versions);
+ return res;
+}
+
/*! \brief Find version for given module name */
const char *ast_file_version_find(const char *file)
{