summaryrefslogtreecommitdiff
path: root/pbx
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2002-07-26 15:44:05 +0000
committerMark Spencer <markster@digium.com>2002-07-26 15:44:05 +0000
commit5bbb08f0418b660d11981ffa6cbec56da4137a35 (patch)
tree575067ff375131623c4931a2f5428098ce87da81 /pbx
parent39055ab5d7bf9d1c319fd648e2f576c04abcc10b (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-xpbx/pbx_config.c16
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';