]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
- fix bugs in problem handling
authorMichael Schroeder <mls@suse.de>
Thu, 4 Jun 2009 16:53:43 +0000 (18:53 +0200)
committerMichael Schroeder <mls@suse.de>
Thu, 4 Jun 2009 16:53:43 +0000 (18:53 +0200)
src/problems.c

index f76a761abae8d7dd7f701c028472885a71560641..bed73035fd44269867181f6ec7a1132cd4ec59f2 100644 (file)
@@ -392,7 +392,7 @@ convertsolution(Solver *solv, Id why, Queue *solutionq)
            break;
          }
       if (!p)
-       p = -solv->rules[why].p; /* XXX: what to do here? */
+       return;         /* false alarm */
       queue_push(solutionq, SOLVER_SOLUTION_INFARCH);
       queue_push(solutionq, p);
       return;
@@ -413,7 +413,7 @@ convertsolution(Solver *solv, Id why, Queue *solutionq)
            break;
          }
       if (!p)
-       p = -solv->rules[why].p; /* XXX: what to do here? */
+       return;         /* false alarm */
       queue_push(solutionq, SOLVER_SOLUTION_DISTUPGRADE);
       queue_push(solutionq, p);
       return;
@@ -565,7 +565,7 @@ create_solutions(Solver *solv, int probnr, int solidx)
       if (solv->solutions.count == solstart + 1)
        {
          solv->solutions.count--;
-         if (!essentialok && i + 1 == problem.count)
+         if (!essentialok && i + 1 == problem.count && !nsol)
            {
              /* nothing found, start over */
              essentialok = 1;