mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-07 18:38:02 +00:00
Reset continuation items at the beginning of each context (suggested by
kpfleming). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@148329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1410,7 +1410,7 @@ static int pbx_load_config(const char *config_file)
|
|||||||
const char *aft;
|
const char *aft;
|
||||||
const char *newpm, *ovsw;
|
const char *newpm, *ovsw;
|
||||||
struct ast_flags config_flags = { 0 };
|
struct ast_flags config_flags = { 0 };
|
||||||
char lastextension[256] = "";
|
char lastextension[256];
|
||||||
cfg = ast_config_load(config_file, config_flags);
|
cfg = ast_config_load(config_file, config_flags);
|
||||||
if (!cfg)
|
if (!cfg)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1451,11 +1451,19 @@ static int pbx_load_config(const char *config_file)
|
|||||||
if (con == NULL)
|
if (con == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/* Reset continuation items at the beginning of each context */
|
||||||
|
lastextension[0] = '\0';
|
||||||
|
lastpri = -2;
|
||||||
|
|
||||||
for (v = ast_variable_browse(cfg, cxt); v; v = v->next) {
|
for (v = ast_variable_browse(cfg, cxt); v; v = v->next) {
|
||||||
char *tc = NULL;
|
char *tc = NULL;
|
||||||
char realext[256] = "";
|
char realext[256] = "";
|
||||||
char *stringp, *ext;
|
char *stringp, *ext;
|
||||||
if (!strncasecmp(v->name, "same", 4)) {
|
if (!strncasecmp(v->name, "same", 4)) {
|
||||||
|
if (ast_strlen_zero(lastextension)) {
|
||||||
|
ast_log(LOG_ERROR, "No previous pattern in the first entry of context '%s' to match '%s'!\n", cxt, v->name);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if ((stringp = tc = ast_strdup(v->value))) {
|
if ((stringp = tc = ast_strdup(v->value))) {
|
||||||
ast_copy_string(realext, lastextension, sizeof(realext));
|
ast_copy_string(realext, lastextension, sizeof(realext));
|
||||||
goto copy_last_extension;
|
goto copy_last_extension;
|
||||||
|
|||||||
Reference in New Issue
Block a user