diff options
author | citats <citats@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-05-17 21:10:26 +0000 |
---|---|---|
committer | citats <citats@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-05-17 21:10:26 +0000 |
commit | c2e3743ace7c83adce11a6d87f1e2525ec79a926 (patch) | |
tree | 513799be18448cfaf23d379e623d124e26f49160 /pbx.c | |
parent | 7a2dce0de72f098dc3918bf3be4115b16cb01e59 (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-x | pbx.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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); |