make operator=no work correctly, fix typo (bug #2665)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2004-10-23 11:55:21 +00:00
parent 5f5017defd
commit 0faa51794d
2 changed files with 22 additions and 20 deletions

View File

@@ -1418,16 +1418,22 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
}
/* Check for a '0' here */
if (res == '0') {
transfer:
strncpy(chan->exten, "o", sizeof(chan->exten) - 1);
if (!ast_strlen_zero(vmu->exit)) {
strncpy(chan->context, vmu->exit, sizeof(chan->context) - 1);
} else if (ousemacro && !ast_strlen_zero(chan->macrocontext)) {
strncpy(chan->context, chan->macrocontext, sizeof(chan->context) - 1);
transfer:
if (vmu->operator) {
strncpy(chan->exten, "o", sizeof(chan->exten) - 1);
if (!ast_strlen_zero(vmu->exit)) {
strncpy(chan->context, vmu->exit, sizeof(chan->context) - 1);
} else if (ousemacro && !ast_strlen_zero(chan->macrocontext)) {
strncpy(chan->context, chan->macrocontext, sizeof(chan->context) - 1);
}
ast_play_and_wait(chan, "transfer");
chan->priority = 0;
free_user(vmu);
return 0;
} else {
ast_play_and_wait(chan, "vm-sorry");
return 0;
}
chan->priority = 0;
free_user(vmu);
return 0;
}
if (res < 0) {
free_user(vmu);
@@ -4653,9 +4659,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
/* User has hung up, no options to give */
return res;
if (cmd == '0') {
/* Erase the message if 0 pushed during playback */
ast_play_and_wait(chan, "vm-deleted");
vm_delete(recordfile);
break;
} else if (cmd == '*') {
break;
}
@@ -4708,13 +4712,11 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
return 1;
#endif
case '0':
if (outsidecaller && vmu->operator) {
if (message_exists)
ast_play_and_wait(chan, "vm-msgsaved");
return cmd;
} else
cmd = ast_play_and_wait(chan, "vm-sorry");
break;
if (message_exists || recorded) {
ast_play_and_wait(chan, "vm-deleted");
vm_delete(recordfile);
}
return cmd;
default:
/* If the caller is an ouside caller, and the review option is enabled,
allow them to review the message, but let the owner of the box review