Merged revisions 114196 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
r114196 | tilghman | 2008-04-17 07:59:04 -0500 (Thu, 17 Apr 2008) | 16 lines

Merged revisions 114195 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114195 | tilghman | 2008-04-17 07:56:38 -0500 (Thu, 17 Apr 2008) | 8 lines

Add special case for when the agi cannot be executed, to comply with the documentation that
we return failure in that case.
(closes issue #12462)
 Reported by: fmueller
 Patches: 
       20080416__bug12462.diff.txt uploaded by Corydon76 (license 14)
 Tested by: fmueller

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Tilghman Lesher 17 years ago
parent ddef13ea2a
commit 6c2506be3c

@ -714,6 +714,8 @@ static enum agi_result launch_script(struct ast_channel *chan, char *script, cha
execv(script, argv);
/* Can't use ast_log since FD's are closed */
fprintf(stdout, "verbose \"Failed to execute '%s': %s\" 2\n", script, strerror(errno));
/* Special case to set status of AGI to failure */
fprintf(stdout, "failure\n");
fflush(stdout);
_exit(1);
}
@ -2668,6 +2670,12 @@ static enum agi_result run_agi(struct ast_channel *chan, char *request, AGI *agi
break;
}
/* Special case for inability to execute child process */
if (*buf && strncasecmp(buf, "failure", 7) == 0) {
returnstatus = AGI_RESULT_FAILURE;
break;
}
/* get rid of trailing newline, if any */
if (*buf && buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = 0;

Loading…
Cancel
Save