[asterisk-commits] murf: branch 1.6.0 r109969 - in /branches/1.6.0: ./ main/config.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Mar 19 11:46:12 CDT 2008
Author: murf
Date: Wed Mar 19 11:46:12 2008
New Revision: 109969
URL: http://svn.digium.com/view/asterisk?view=rev&rev=109969
Log:
Merged revisions 109942 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r109942 | murf | 2008-03-19 10:24:51 -0600 (Wed, 19 Mar 2008) | 80 lines
Merged revisions 109908 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r109908 | murf | 2008-03-19 09:41:13 -0600 (Wed, 19 Mar 2008) | 72 lines
(closes issue #11442)
Reported by: tzafrir
Patches:
11442.patch uploaded by murf (license 17)
Tested by: murf
I didn't give tzafrir very much time to test this, but if he does
still have remaining issues, he is welcome to
re-open this bug, and we'll do what is called for.
I reproduced the problem, and tested the fix, so I hope I
am not jumping by just going ahead and committing the fix.
The problem was with what file_save does with templates;
firstly, it tended to print out multiple options:
[my_category](!)(templateref)
instead of
[my_category](!,templateref)
which is fixed by this patch.
Nextly, the code to suppress output of duplicate declarations
that would occur because the reader copies inherited declarations
down the hierarchy, was not working. Thus:
[master-template](!)
mastervar = bar
[template](!,master-template)
tvar = value
[cat](template)
catvar = val
would be rewritten as:
;!
;! Automatically generated configuration file
;! Filename: experiment.conf (/etc/asterisk/experiment.conf)
;! Generator: Manager
;! Creation Date: Tue Mar 18 23:17:46 2008
;!
[master-template](!)
mastervar = bar
[template](!,master-template)
mastervar = bar
tvar = value
[cat](template)
mastervar = bar
tvar = value
catvar = val
This has been fixed. Since the config reader 'explodes' inherited
vars into the category, users may, in certain circumstances, see
output different from what they originally entered, but it should
be both correct and equivalent.
........
................
Modified:
branches/1.6.0/ (props changed)
branches/1.6.0/main/config.c
Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.0/main/config.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/main/config.c?view=diff&rev=109969&r1=109968&r2=109969
==============================================================================
--- branches/1.6.0/main/config.c (original)
+++ branches/1.6.0/main/config.c Wed Mar 19 11:46:12 2008
@@ -1621,15 +1621,21 @@
if (!cat->precomments)
fprintf(f,"\n");
fprintf(f, "[%s]", cat->name);
- if (cat->ignored)
- fprintf(f, "(!)");
- if (!AST_LIST_EMPTY(&cat->template_instances)) {
- struct ast_category_template_instance *x;
+ if (cat->ignored || !AST_LIST_EMPTY(&cat->template_instances)) {
fprintf(f, "(");
- AST_LIST_TRAVERSE(&cat->template_instances, x, next) {
- fprintf(f,"%s",x->name);
- if (x != AST_LIST_LAST(&cat->template_instances))
- fprintf(f,",");
+ if (cat->ignored) {
+ fprintf(f, "!");
+ }
+ if (cat->ignored && !AST_LIST_EMPTY(&cat->template_instances)) {
+ fprintf(f, ",");
+ }
+ if (!AST_LIST_EMPTY(&cat->template_instances)) {
+ struct ast_category_template_instance *x;
+ AST_LIST_TRAVERSE(&cat->template_instances, x, next) {
+ fprintf(f,"%s",x->name);
+ if (x != AST_LIST_LAST(&cat->template_instances))
+ fprintf(f,",");
+ }
}
fprintf(f, ")");
}
More information about the asterisk-commits
mailing list