diff options
author | Mark Spencer <markster@digium.com> | 2002-07-26 15:44:05 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2002-07-26 15:44:05 +0000 |
commit | 5bbb08f0418b660d11981ffa6cbec56da4137a35 (patch) | |
tree | 575067ff375131623c4931a2f5428098ce87da81 /pbx | |
parent | 39055ab5d7bf9d1c319fd648e2f576c04abcc10b (diff) |
Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx')
-rwxr-xr-x | pbx/pbx_config.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c index 38c6e1f39..fbcb04a2e 100755 --- a/pbx/pbx_config.c +++ b/pbx/pbx_config.c @@ -1463,6 +1463,7 @@ static int pbx_load_module(void) { struct ast_config *cfg; struct ast_variable *v; + char *ptrptr; char *cxt, *ext, *pri, *appl, *data, *tc, *cidmatch; struct ast_context *con; @@ -1485,17 +1486,22 @@ static int pbx_load_module(void) while(v) { if (!strcasecmp(v->name, "exten")) { tc = strdup(v->value); - ext = strtok(tc, ","); + ext = strtok_r(tc, ",",&ptrptr); if (!ext) ext=""; - pri = strtok(NULL, ","); + pri = strtok_r(NULL, ",",&ptrptr); if (!pri) pri=""; - appl = strtok(NULL, ","); + appl = strtok_r(NULL, ",",&ptrptr); if (!appl) appl=""; - data = strtok(NULL, ","); - + if (*ptrptr=='"') { + ptrptr++; + data = strtok_r(NULL, "\"",&ptrptr); + ptrptr++; + } else { + data = strtok_r(NULL, ",",&ptrptr); + } cidmatch = strchr(ext, '/'); if (cidmatch) { *cidmatch = '\0'; |