summaryrefslogtreecommitdiff
path: root/pbx
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2003-11-23 22:40:37 +0000
committerMark Spencer <markster@digium.com>2003-11-23 22:40:37 +0000
commit143b3de60684f8c60dd7fdc5080ca06299d025e0 (patch)
treedb04ce1d82ff0ed9545f92438a04c93f514455ef /pbx
parente0544c3eb57881bcc56b8f44f46e2dd3190c7be9 (diff)
Be less picky about spaces, and recognize invalid priorities
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx')
-rwxr-xr-xpbx/pbx_config.c21
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__);