diff options
Diffstat (limited to 'pbx/pbx_dundi.c')
-rw-r--r-- | pbx/pbx_dundi.c | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c index 4afe0cee2..68aca1c7d 100644 --- a/pbx/pbx_dundi.c +++ b/pbx/pbx_dundi.c @@ -4000,50 +4000,50 @@ static void build_mapping(char *name, char *value) AST_LIST_INSERT_HEAD(&mappings, map, list); map->dead = 1; } - map->options = 0; - memset(fields, 0, sizeof(fields)); - x = 0; - while(t && x < MAX_OPTS) { - fields[x++] = t; - t = strchr(t, ','); - if (t) { - *t = '\0'; - t++; - } - } /* Russell was here, arrrr! */ - if ((x == 1) && ast_strlen_zero(fields[0])) { - /* Placeholder mapping */ - ast_copy_string(map->dcontext, name, sizeof(map->dcontext)); - map->dead = 0; - } else if (x >= 4) { - ast_copy_string(map->dcontext, name, sizeof(map->dcontext)); - ast_copy_string(map->lcontext, fields[0], sizeof(map->lcontext)); - if ((sscanf(fields[1], "%d", &map->weight) == 1) && (map->weight >= 0) && (map->weight < 60000)) { - ast_copy_string(map->dest, fields[3], sizeof(map->dest)); - if ((map->tech = str2tech(fields[2]))) { - map->dead = 0; - } - } else { - ast_log(LOG_WARNING, "Invalid weight '%s' specified, deleting entry '%s/%s'\n", fields[1], map->dcontext, map->lcontext); - } - for (y=4;y<x;y++) { - if (!strcasecmp(fields[y], "nounsolicited")) - map->options |= DUNDI_FLAG_NOUNSOLICITED; - else if (!strcasecmp(fields[y], "nocomunsolicit")) - map->options |= DUNDI_FLAG_NOCOMUNSOLICIT; - else if (!strcasecmp(fields[y], "residential")) - map->options |= DUNDI_FLAG_RESIDENTIAL; - else if (!strcasecmp(fields[y], "commercial")) - map->options |= DUNDI_FLAG_COMMERCIAL; - else if (!strcasecmp(fields[y], "mobile")) - map->options |= DUNDI_FLAG_MOBILE; - else if (!strcasecmp(fields[y], "nopartial")) - map->options |= DUNDI_FLAG_INTERNAL_NOPARTIAL; - else - ast_log(LOG_WARNING, "Don't know anything about option '%s'\n", fields[y]); + map->options = 0; + memset(fields, 0, sizeof(fields)); + x = 0; + while (t && x < MAX_OPTS) { + fields[x++] = t; + t = strchr(t, ','); + if (t) { + *t = '\0'; + t++; + } + } /* Russell was here, arrrr! */ + if ((x == 1) && ast_strlen_zero(fields[0])) { + /* Placeholder mapping */ + ast_copy_string(map->dcontext, name, sizeof(map->dcontext)); + map->dead = 0; + } else if (x >= 4) { + ast_copy_string(map->dcontext, name, sizeof(map->dcontext)); + ast_copy_string(map->lcontext, fields[0], sizeof(map->lcontext)); + if ((sscanf(fields[1], "%d", &map->weight) == 1) && (map->weight >= 0) && (map->weight < 60000)) { + ast_copy_string(map->dest, fields[3], sizeof(map->dest)); + if ((map->tech = str2tech(fields[2]))) { + map->dead = 0; } - } else - ast_log(LOG_WARNING, "Expected at least %d arguments in map, but got only %d\n", 4, x); + } else { + ast_log(LOG_WARNING, "Invalid weight '%s' specified, deleting entry '%s/%s'\n", fields[1], map->dcontext, map->lcontext); + } + for (y = 4;y < x; y++) { + if (!strcasecmp(fields[y], "nounsolicited")) + map->options |= DUNDI_FLAG_NOUNSOLICITED; + else if (!strcasecmp(fields[y], "nocomunsolicit")) + map->options |= DUNDI_FLAG_NOCOMUNSOLICIT; + else if (!strcasecmp(fields[y], "residential")) + map->options |= DUNDI_FLAG_RESIDENTIAL; + else if (!strcasecmp(fields[y], "commercial")) + map->options |= DUNDI_FLAG_COMMERCIAL; + else if (!strcasecmp(fields[y], "mobile")) + map->options |= DUNDI_FLAG_MOBILE; + else if (!strcasecmp(fields[y], "nopartial")) + map->options |= DUNDI_FLAG_INTERNAL_NOPARTIAL; + else + ast_log(LOG_WARNING, "Don't know anything about option '%s'\n", fields[y]); + } + } else + ast_log(LOG_WARNING, "Expected at least %d arguments in map, but got only %d\n", 4, x); } } |