diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2002-07-26 15:44:05 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2002-07-26 15:44:05 +0000 |
commit | 57190ced92a7c5cef4841cc12098e4c75fadb681 (patch) | |
tree | 575067ff375131623c4931a2f5428098ce87da81 /pbx | |
parent | 473995851447f6b158cf35c81185912d4347a7d0 (diff) |
Version 0.2.0 from FTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@488 f38db490-d61c-443f-a65b-d21fe96a405b
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'; |