Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv7440/apps

Modified Files:
        app_directory.c 
Log Message:
_really_ fix app_directory (doh... how did I miss this before?) (issue #5232, 
take two)


Index: app_directory.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_directory.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- app_directory.c     15 Sep 2005 00:56:09 -0000      1.43
+++ app_directory.c     15 Sep 2005 01:31:49 -0000      1.44
@@ -193,7 +193,7 @@
                                case '1':
                                        /* Name selected */
                                        loop = 0;
-                                       if (!ast_goto_if_exists(chan, 
dialcontext, ext, 1)) {
+                                       if (ast_goto_if_exists(chan, 
dialcontext, ext, 1)) {
                                                ast_log(LOG_WARNING,
                                                        "Can't find extension 
'%s' in context '%s'.  "
                                                        "Did you pass the wrong 
context to Directory?\n",
@@ -300,25 +300,20 @@
                return -1;
        }
        if (digit == '0') {
-               if 
(ast_exists_extension(chan,chan->context,"o",1,chan->cid.cid_num) || 
+               if (!ast_goto_if_exists(chan, chan->context, "o", 1) ||
                    (!ast_strlen_zero(chan->macrocontext) &&
-                    ast_exists_extension(chan, chan->macrocontext, "o", 1, 
chan->cid.cid_num))) {
-                       strcpy(chan->exten, "o");
-                       chan->priority = 0;
+                    !ast_goto_if_exists(chan, chan->macrocontext, "o", 1))) {
                        return 0;
                } else {
-
                        ast_log(LOG_WARNING, "Can't find extension 'o' in 
current context.  "
                                "Not Exiting the Directory!\n");
                        res = 0;
                }
        }       
        if (digit == '*') {
-               if 
(ast_exists_extension(chan,chan->context,"a",1,chan->cid.cid_num) || 
+               if (!ast_goto_if_exists(chan, chan->context, "a", 1) ||
                    (!ast_strlen_zero(chan->macrocontext) &&
-                    ast_exists_extension(chan, chan->macrocontext, "a", 1, 
chan->cid.cid_num))) {
-                       strcpy(chan->exten, "a");
-                       chan->priority = 0;
+                    !ast_goto_if_exists(chan, chan->macrocontext, "a", 1))) {
                        return 0;
                } else {
                        ast_log(LOG_WARNING, "Can't find extension 'a' in 
current context.  "
@@ -375,11 +370,11 @@
                                                lastuserchoice = 0;
                                                break;
                                        case '1':
-                                               /* user pressed '1' and 
extensions exists */
+                                               /* user pressed '1' and 
extensions exists;
+                                                  play_mailbox_owner will 
already have done
+                                                  a goto() on the channel
+                                                */
                                                lastuserchoice = res;
-                                               ast_copy_string(chan->context, 
dialcontext, sizeof(chan->context));
-                                               ast_copy_string(chan->exten, 
v->name, sizeof(chan->exten));
-                                               chan->priority = 0;
                                                break;
                                        case '*':
                                                /* user pressed '*' to skip 
something found */

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to