The first file should have a blank config filename in the structure, so that
when a save occurs to a different filename, everything goes to the alternate filename, instead of appending to the original. This is important for the AMI command UpdateConfig. (closes issue #13301) Reported by: trevo Patches: 20081113__bug13301.diff.txt uploaded by Corydon76 (license 14) 20081113__bug13301__1.6.0.diff.txt uploaded by Corydon76 (license 14) Tested by: Corydon76, blitzrage git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
2afd7a09a7
commit
da8069394b
|
@ -953,7 +953,9 @@ static int process_text_line(struct ast_config *cfg, struct ast_category **cat,
|
||||||
if (*c++ != '(')
|
if (*c++ != '(')
|
||||||
c = NULL;
|
c = NULL;
|
||||||
catname = cur;
|
catname = cur;
|
||||||
if (!(*cat = newcat = ast_category_new(catname, ast_strlen_zero(suggested_include_file)?configfile:suggested_include_file, lineno))) {
|
if (!(*cat = newcat = ast_category_new(catname,
|
||||||
|
S_OR(suggested_include_file, cfg->include_level == 1 ? "" : configfile),
|
||||||
|
lineno))) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
(*cat)->lineno = lineno;
|
(*cat)->lineno = lineno;
|
||||||
|
@ -1076,7 +1078,7 @@ static int process_text_line(struct ast_config *cfg, struct ast_category **cat,
|
||||||
}
|
}
|
||||||
/* A #include */
|
/* A #include */
|
||||||
/* record this inclusion */
|
/* record this inclusion */
|
||||||
inclu = ast_include_new(cfg, configfile, cur, !do_include, cur2, lineno, real_inclusion_name, sizeof(real_inclusion_name));
|
inclu = ast_include_new(cfg, cfg->include_level == 1 ? "" : configfile, cur, !do_include, cur2, lineno, real_inclusion_name, sizeof(real_inclusion_name));
|
||||||
|
|
||||||
do_include = ast_config_internal_load(cur, cfg, flags, real_inclusion_name, who_asked) ? 1 : 0;
|
do_include = ast_config_internal_load(cur, cfg, flags, real_inclusion_name, who_asked) ? 1 : 0;
|
||||||
if (!ast_strlen_zero(exec_file))
|
if (!ast_strlen_zero(exec_file))
|
||||||
|
@ -1133,7 +1135,7 @@ static int process_text_line(struct ast_config *cfg, struct ast_category **cat,
|
||||||
c++;
|
c++;
|
||||||
}
|
}
|
||||||
set_new_variable:
|
set_new_variable:
|
||||||
if ((v = ast_variable_new(ast_strip(cur), ast_strip(c), S_OR(suggested_include_file, configfile)))) {
|
if ((v = ast_variable_new(ast_strip(cur), ast_strip(c), S_OR(suggested_include_file, cfg->include_level == 1 ? "" : configfile)))) {
|
||||||
v->lineno = lineno;
|
v->lineno = lineno;
|
||||||
v->object = object;
|
v->object = object;
|
||||||
*last_cat = 0;
|
*last_cat = 0;
|
||||||
|
|
Loading…
Reference in New Issue