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;
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;
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;