summaryrefslogtreecommitdiff
path: root/src/problems.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2009-06-04 18:53:43 +0200
committerMichael Schroeder <mls@suse.de>2009-06-04 18:53:43 +0200
commit693f01803f478539aff7bd3d6cc29be8bc681a6b (patch)
tree7d501b22792fb9ae8aad1becf1b1a4570aae00b4 /src/problems.c
parentbef8a9bbc1f1c82577faab89e6bdc6ad35a3a0e9 (diff)
downloadlibsolv-693f01803f478539aff7bd3d6cc29be8bc681a6b.tar.gz
libsolv-693f01803f478539aff7bd3d6cc29be8bc681a6b.tar.bz2
libsolv-693f01803f478539aff7bd3d6cc29be8bc681a6b.zip
- fix bugs in problem handling
Diffstat (limited to 'src/problems.c')
-rw-r--r--src/problems.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/problems.c b/src/problems.c
index f76a761..bed7303 100644
--- a/src/problems.c
+++ b/src/problems.c
@@ -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;