diff options
author | Mark Spencer <markster@digium.com> | 2004-10-03 05:08:51 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2004-10-03 05:08:51 +0000 |
commit | 027f79d8408ad9846ad8719803b2a30021abbf06 (patch) | |
tree | 2b2dbe0890e6f3380a3a611ab7c8cb076123a0e1 /pbx/pbx_config.c | |
parent | cd4ebb34ec3a0f99d5a166b6ff80bff08eb9b844 (diff) |
Add '+foo' option, update sample config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx/pbx_config.c')
-rwxr-xr-x | pbx/pbx_config.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c index 6cac835a7..a6286c0a7 100755 --- a/pbx/pbx_config.c +++ b/pbx/pbx_config.c @@ -1649,6 +1649,7 @@ static int pbx_load_module(void) char *stringp=NULL; int ipri = -2; char realext[256]=""; + char *plus; tc = strdup(v->value); if(tc!=NULL){ stringp=tc; @@ -1668,6 +1669,11 @@ static int pbx_load_module(void) else ast_log(LOG_WARNING, "Label missing trailing ')' at line %d\n", v->lineno); } + plus = strchr(pri, '+'); + if (plus) { + *plus = '\0'; + plus++; + } if (!strcmp(pri,"hint")) ipri=PRIORITY_HINT; else if (!strcmp(pri, "next") || !strcmp(pri, "n")) { @@ -1680,7 +1686,7 @@ static int pbx_load_module(void) ipri = lastpri; else ast_log(LOG_WARNING, "Can't use 'same' priority on the first entry!\n"); - } else { + } else { if (sscanf(pri, "%i", &ipri) != 1) { ast_log(LOG_WARNING, "Invalid priority '%s' at line %d\n", pri, v->lineno); ipri = 0; @@ -1722,6 +1728,8 @@ static int pbx_load_module(void) while(*appl && (*appl < 33)) appl++; pbx_substitute_variables_helper(NULL, ext, realext, sizeof(realext) - 1); if (ipri) { + if (plus) + ipri += atoi(plus); lastpri = ipri; if (ast_add_extension2(con, 0, realext, ipri, label, cidmatch, appl, strdup(data), FREE, registrar)) { ast_log(LOG_WARNING, "Unable to register extension at line %d\n", v->lineno); |