[Asterisk-cvs] asterisk/apps app_directory.c,1.43,1.44
kpfleming
kpfleming
Wed Sep 14 21:33:20 CDT 2005
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 */
More information about the svn-commits
mailing list