]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
resolve a load-time problem avoiding a call to console_do_answer.
authorLuigi Rizzo <rizzo@icir.org>
Mon, 7 Jan 2008 11:22:01 +0000 (11:22 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Mon, 7 Jan 2008 11:22:01 +0000 (11:22 +0000)
On passing, fix dialling from the keypad.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96776 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/console_gui.c

index 73aa94a0578e2c62b5588b55652e9dc5b592c71c..c9cfa6ed009f71c74655eff11f98738608030bc5 100644 (file)
@@ -251,6 +251,12 @@ static void append_char(char *str, int *str_pos, const char c)
        *str_pos = i;
 }
 
+static void append_string(char *str, int *str_pos, const char *s)
+{
+       while (*s)
+               append_char(str, str_pos, *s++);
+}
+
 /* accumulate digits, possibly call dial if in connected mode */
 static void keypad_digit(struct video_desc *env, int digit)
 {      
@@ -316,12 +322,12 @@ static void keypad_pick_up(struct video_desc *env)
        ast_log(LOG_WARNING, "keypad_pick_up called\n");
 
        if (env->owner) { /* someone is calling us, just answer */
-               console_do_answer(-1);
+               ast_cli_command(gui->outfd, "console answer");
        } else if (gui->inbuf_pos) { /* we have someone to call */
                ast_cli_command(gui->outfd, gui->inbuf);
        }
-
        append_char(gui->inbuf, &gui->inbuf_pos, '\0'); /* clear buffer */
+       append_string(gui->inbuf, &gui->inbuf_pos, "console dial ");
 }
 
 #if 0 /* still unused */
@@ -626,6 +632,7 @@ static struct gui_info *gui_init(const char *keypad_file)
 
        /* initialize keyboard buffer */
        append_char(gui->inbuf, &gui->inbuf_pos, '\0');
+       append_string(gui->inbuf, &gui->inbuf_pos, "console dial ");
        append_char(gui->msgbuf, &gui->msgbuf_pos, '\0');
 
        keypad_setup(gui, keypad_file);