aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2002-07-26 15:44:05 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2002-07-26 15:44:05 +0000
commit57190ced92a7c5cef4841cc12098e4c75fadb681 (patch)
tree575067ff375131623c4931a2f5428098ce87da81 /pbx
parent473995851447f6b158cf35c81185912d4347a7d0 (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-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';