aboutsummaryrefslogtreecommitdiffstats
path: root/pbx.c
diff options
context:
space:
mode:
authorcitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-17 21:10:26 +0000
committercitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-17 21:10:26 +0000
commitc2e3743ace7c83adce11a6d87f1e2525ec79a926 (patch)
tree513799be18448cfaf23d379e623d124e26f49160 /pbx.c
parent7a2dce0de72f098dc3918bf3be4115b16cb01e59 (diff)
Make variables work in manager originate again
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2993 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/pbx.c b/pbx.c
index b97264d55..1f77bb32d 100755
--- a/pbx.c
+++ b/pbx.c
@@ -3963,6 +3963,11 @@ int ast_pbx_outgoing_exten(char *type, int format, void *data, int timeout, char
strncpy(as->exten, exten, sizeof(as->exten) - 1);
as->priority = priority;
as->timeout = timeout;
+ if (variable) {
+ tmp = ast_strdupa(variable);
+ for (var = strtok_r(tmp, "|", &tmp); var; var = strtok_r(NULL, "|", &tmp))
+ pbx_builtin_setvar( chan, var );
+ }
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
if (pthread_create(&as->p, &attr, async_wait, as)) {
@@ -4068,6 +4073,11 @@ int ast_pbx_outgoing_app(char *type, int format, void *data, int timeout, char *
if (appdata)
strncpy(as->appdata, appdata, sizeof(as->appdata) - 1);
as->timeout = timeout;
+ if (variable) {
+ tmp = ast_strdupa(variable);
+ for (var = strtok_r(tmp, "|", &tmp); var; var = strtok_r(NULL, "|", &tmp))
+ pbx_builtin_setvar( chan, var );
+ }
/* Start a new thread, and get something handling this channel. */
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);