// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: algorithms.cc,v 1.26 1999/10/22 04:05:47 jgg Exp $
+// $Id: algorithms.cc,v 1.29 1999/11/17 01:52:01 jgg Exp $
/* ######################################################################
Algorithms - A set of misc algorithms
/* We let the algorithm deal with conflicts on its next iteration,
it is much smarter than us */
if (Start->Type == pkgCache::Dep::Conflicts)
- continue;
+ break;
if (Debug == true)
clog << " Reinst Failed early because of " << Start.TargetPkg().Name() << endl;
if (InOr == true)
{
if (OldEnd == LEnd && OrOp == OrRemove)
- Cache.MarkDelete(I);
+ {
+ if ((Flags[I->ID] & Protected) != Protected)
+ Cache.MarkDelete(I);
+ }
if (OldEnd == LEnd && OrOp == OrKeep)
Cache.MarkKeep(I);
}
if ((Flags[I->ID] & Protected) == Protected)
{
if (DoUpgrade(Pkg) == true)
+ {
Scores[Pkg->ID] = Scores[I->ID];
+ break;
+ }
+
continue;
}