summaryrefslogtreecommitdiff
path: root/src/solver.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/solver.c')
-rw-r--r--src/solver.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/solver.c b/src/solver.c
index 7fcc3fb..686a8af 100644
--- a/src/solver.c
+++ b/src/solver.c
@@ -3240,7 +3240,7 @@ addedmap2deduceq(Solver *solv, Map *addedmap)
p = -r->p;
if (!MAPTST(addedmap, p))
{
- /* should never happen, but... */
+ /* this can happen with complex dependencies that have more than one pos literal */
if (!solv->addedmap_deduceq.count || solv->addedmap_deduceq.elements[solv->addedmap_deduceq.count - 1] != -p)
queue_push(&solv->addedmap_deduceq, -p);
continue;
@@ -3280,7 +3280,7 @@ deduceq2addedmap(Solver *solv, Map *addedmap)
if (p > 0)
MAPSET(addedmap, p);
else
- MAPCLR(addedmap, p);
+ MAPCLR(addedmap, -p);
}
}