[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