diff options
author | Mark Spencer <markster@digium.com> | 2006-01-07 15:17:10 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2006-01-07 15:17:10 +0000 |
commit | d7906c3447af04ff953aa5a7c8bf6bf64dd64e2f (patch) | |
tree | 0386a68a9216869cafc8aceabc360f56becb8e94 /asterisk.c | |
parent | 0be002fe3bb3d4e3e786081560ab0a2fec656a96 (diff) |
Fix CLI breakage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'asterisk.c')
-rw-r--r-- | asterisk.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/asterisk.c b/asterisk.c index 11363c851..2e475634c 100644 --- a/asterisk.c +++ b/asterisk.c @@ -1511,7 +1511,7 @@ static int ast_cli_display_match_list(char **matches, int len, int max) idx = 1; - qsort(&matches[0], (size_t)(len + 1), sizeof(char *), ast_el_sort_compare); + qsort(&matches[0], (size_t)(len), sizeof(char *), ast_el_sort_compare); for (; count > 0; count--) { numoutputline = 0; @@ -1603,12 +1603,14 @@ static char *cli_complete(EditLine *el, int ch) } else matches = (char **) NULL; } else { - char **p; - int count = 0; + char **p, *oldbuf=NULL; + nummatches = 0; matches = ast_cli_completion_matches((char *)lf->buffer,ptr); - for (p = matches; p && *p; p++) - count++; - nummatches = count - 1; /* XXX apparently there is one dup ? */ + for (p = matches; p && *p; p++) { + if (!oldbuf || strcmp(*p,oldbuf)) + nummatches++; + oldbuf = *p; + } } if (matches) { |