[svn-commits] russell: branch 1.0 r473 - in /branches/1.0: menuselect.c menuselect.h
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Thu Feb 12 10:32:32 CST 2009
Author: russell
Date: Thu Feb 12 10:32:32 2009
New Revision: 473
URL: http://svn.digium.com/svn-view/menuselect?view=rev&rev=473
Log:
Fix an issue related to processing default values after reading existing config.
(closes issue #14137)
Reported by: jnemeth
Modified:
branches/1.0/menuselect.c
branches/1.0/menuselect.h
Modified: branches/1.0/menuselect.c
URL: http://svn.digium.com/svn-view/menuselect/branches/1.0/menuselect.c?view=diff&rev=473&r1=472&r2=473
==============================================================================
--- branches/1.0/menuselect.c (original)
+++ branches/1.0/menuselect.c Thu Feb 12 10:32:32 2009
@@ -652,6 +652,7 @@
AST_LIST_TRAVERSE(&cat->members, mem, list) {
if (!strcmp(member, mem->name)) {
mem->was_enabled = mem->enabled = (negate ? !cat->positive_output : cat->positive_output);
+ mem->was_present = 1;
break;
}
}
@@ -1180,14 +1181,17 @@
AST_LIST_TRAVERSE(&categories, cat, list) {
AST_LIST_TRAVERSE(&cat->members, mem, list) {
- if (!mem->defaultenabled)
+ if (!mem->defaultenabled || mem->was_present) {
continue;
-
- if (mem->depsfailed == HARD_FAILURE)
+ }
+
+ if (mem->depsfailed == HARD_FAILURE) {
continue;
-
- if (mem->conflictsfailed == HARD_FAILURE)
+ }
+
+ if (mem->conflictsfailed == HARD_FAILURE) {
continue;
+ }
if (!strcasecmp(mem->defaultenabled, "yes")) {
mem->enabled = 1;
@@ -1251,10 +1255,11 @@
while (calc_dep_failures(0) || calc_conflict_failures(0));
- if (!existing_config)
- process_defaults();
- else if (check_deps)
+ process_defaults();
+
+ if (check_deps) {
res = sanity_check();
+ }
while (calc_dep_failures(0) || calc_conflict_failures(0));
Modified: branches/1.0/menuselect.h
URL: http://svn.digium.com/svn-view/menuselect/branches/1.0/menuselect.h?view=diff&rev=473&r1=472&r2=473
==============================================================================
--- branches/1.0/menuselect.h (original)
+++ branches/1.0/menuselect.h Thu Feb 12 10:32:32 2009
@@ -90,6 +90,9 @@
we have included it in the MENUSELECT_BUILD_DEPS line
in the output file */
unsigned int build_deps_output:1;
+ /*! This member was present in an existing configuration file, so don't
+ * mess with it when processing default values. */
+ unsigned int was_present:1;
/*! dependencies of this module */
AST_LIST_HEAD_NOLOCK(, depend) deps;
/*! conflicts of this module */
More information about the svn-commits
mailing list