[Aptitude-devel] r3079 - in branches/aptitude-0.3/aptitude: . src/generic

Daniel Burrows dburrows@costa.debian.org
Sat, 23 Apr 2005 16:21:11 +0000


Author: dburrows
Date: Sat Apr 23 16:21:08 2005
New Revision: 3079

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/generic/aptitude_resolver.h
Log:
Fix a logic error in generating revdeps.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Sat Apr 23 16:21:08 2005
@@ -1,5 +1,10 @@
 2005-04-23  Daniel Burrows  <dburrows@debian.org>
 
+	* src/generic/aptitude_resolver.h:
+
+	  Don't generate inapplicable revdeps, even if they're the first
+	  item in the list.
+
 	* src/generic/problemresolver/problemresolver.h:
 
 	  Fix the solution dumper to work properly on non-cout streams too

Modified: branches/aptitude-0.3/aptitude/src/generic/aptitude_resolver.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/aptitude_resolver.h	(original)
+++ branches/aptitude-0.3/aptitude/src/generic/aptitude_resolver.h	Sat Apr 23 16:21:08 2005
@@ -333,7 +333,7 @@
   void normalize()
   {
     while(!dep_lst.end() &&
-	  !dep_lst.IsCritical())
+	  (!dep_lst.IsCritical() || !applicable()))
       ++dep_lst;
 
     // When we've run out of provides, give up..
@@ -352,7 +352,7 @@
 	    dep_lst=prv_lst.ParentPkg().RevDependsList();
 
 	    while(!dep_lst.end() &&
-		  !dep_lst.IsCritical())
+		  (!dep_lst.IsCritical() || !applicable()))
 	      ++dep_lst;
 	  }
       }
@@ -416,12 +416,8 @@
 
   revdep_iterator &operator++()
   {
-    do
-      {
-	++dep_lst;
-	normalize();
-      }
-    while(!dep_lst.end() && !applicable());
+    ++dep_lst;
+    normalize();
 
     return *this;
   }