diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-11-23 22:40:37 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-11-23 22:40:37 +0000 |
commit | 365247320af0c7db8dbf8f27ca20b728b550a6a7 (patch) | |
tree | db04ce1d82ff0ed9545f92438a04c93f514455ef /pbx | |
parent | 54b6732e7a947ca6ea41a4ac2b6c6f8b9844af7b (diff) |
Be less picky about spaces, and recognize invalid priorities
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1783 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rwxr-xr-x | pbx/pbx_config.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c index 89ad44afe..c7826d0c6 100755 --- a/pbx/pbx_config.c +++ b/pbx/pbx_config.c @@ -1116,10 +1116,13 @@ static int handle_context_add_extension(int fd, int argc, char *argv[]) } prior = strsep(&whole_exten,","); if (prior) { - if (!strcmp(prior, "hint")) { + if (!strcmp(prior, "hint")) { iprior = PRIORITY_HINT; } else { - iprior = atoi(prior); + if (scanf(prior, "%i", &iprior) != 1) { + ast_cli(fd, "'%s' is not a valid priority\n", prior); + prior = NULL; + } } } app = strsep(&whole_exten,","); @@ -1579,8 +1582,12 @@ static int pbx_load_module(void) pri=""; if (!strcmp(pri,"hint")) ipri=PRIORITY_HINT; - else - ipri=atoi(pri); + else { + if (sscanf(pri, "%i", &ipri) != 1) { + ast_log(LOG_WARNING, "Invalid priority '%s' at line %d\n", pri, v->lineno); + ipri = 0; + } + } appl = stringp; if (!appl) appl=""; @@ -1617,8 +1624,10 @@ static int pbx_load_module(void) if (!data) data=""; pbx_substitute_variables_helper(NULL, ext, realext, sizeof(realext) - 1); - if (ast_add_extension2(con, 0, realext, ipri, cidmatch, appl, strdup(data), FREE, registrar)) { - ast_log(LOG_WARNING, "Unable to register extension at line %d\n", v->lineno); + if (ipri) { + if (ast_add_extension2(con, 0, realext, ipri, cidmatch, appl, strdup(data), FREE, registrar)) { + ast_log(LOG_WARNING, "Unable to register extension at line %d\n", v->lineno); + } } free(tc); } else fprintf(stderr,"Error strdup returned NULL in %s\n",__PRETTY_FUNCTION__); |