use ast_cli_complete() to largely simplify the command completion code.
authorLuigi Rizzo <rizzo@icir.org>
Tue, 28 Mar 2006 23:06:46 +0000 (23:06 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Tue, 28 Mar 2006 23:06:46 +0000 (23:06 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15852 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_clioriginate.c

index 36319f6..e1ebaed 100644 (file)
@@ -150,29 +150,15 @@ static int handle_orig(int fd, int argc, char *argv[])
 
 static char *complete_orig(const char *line, const char *word, int pos, int state)
 {
-       int wordlen;
-       char *app = "application";
-       char *exten = "extension";
-       char *ret = NULL;
+       static char *choices[] = { "application", "extension", NULL };
+       char *ret;
 
-       if (pos != 2 || state)
+       if (pos != 2)
                return NULL;
 
        STANDARD_INCREMENT_USECOUNT;
 
-       wordlen = strlen(word);
-
-       if (ast_strlen_zero(word)) {
-               /* show the options in alphabetical order */
-               if (!state)
-                       ret = strdup(app);
-               else
-                       ret = strdup(exten);
-       } else if (!strncasecmp(word, app, wordlen)) {
-               ret = strdup(app);
-       } else if (!strncasecmp(word, exten, wordlen)) {
-               ret = strdup(exten);
-       }
+       ret = ast_cli_complete(word, choices, state);
 
        STANDARD_DECREMENT_USECOUNT;