diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-05-22 04:52:50 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-05-22 04:52:50 +0000 |
commit | a4ad5a7c6b4cda1c91a2b961a8e9eb2cc4acf5a1 (patch) | |
tree | fb7c67035e750b56e1423e904d34dcfde9ce2d33 /apps | |
parent | d3895410f133c2a69e1208ac4d595bcad3fa6cf5 (diff) |
Work on a copy with app_agi
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3039 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rwxr-xr-x | apps/app_agi.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/app_agi.c b/apps/app_agi.c index d7af708b4..ef8436325 100755 --- a/apps/app_agi.c +++ b/apps/app_agi.c @@ -1466,7 +1466,8 @@ static int agi_exec_full(struct ast_channel *chan, void *data, int enhanced, int int res=0; struct localuser *u; char *argv[MAX_ARGS]; - char *tmp = (char *)data; + char buf[2048]=""; + char *tmp = (char *)buf; int argc = 0; int fds[2]; int efd = -1; @@ -1477,7 +1478,7 @@ static int agi_exec_full(struct ast_channel *chan, void *data, int enhanced, int ast_log(LOG_WARNING, "AGI requires an argument (script)\n"); return -1; } - + strncpy(buf, data, sizeof(buf) - 1); memset(&agi, 0, sizeof(agi)); while ((stringp = strsep(&tmp, "|"))) { @@ -1500,7 +1501,7 @@ static int agi_exec_full(struct ast_channel *chan, void *data, int enhanced, int agi.fd = fds[1]; agi.ctrl = fds[0]; agi.audio = efd; - res = run_agi(chan, tmp, &agi, pid, dead); + res = run_agi(chan, argv[0], &agi, pid, dead); close(fds[1]); if (efd > -1) close(efd); |