#endif
if (s->repo == installed && pool->implicitobsoleteusescolors)
{
- Id a, bestarch = 0;
+ unsigned int a, bestscore = 0;
FOR_PROVIDES(p, pp, s->name)
{
Solvable *ps = pool->solvables + p;
if (ps->name != s->name || ps->repo == installed)
continue;
- a = ps->arch;
- a = (a <= pool->lastarch) ? pool->id2arch[a] : 0;
- if (a && a != 1 && (!bestarch || a < bestarch))
- bestarch = a;
+ a = pool_arch2score(pool, ps->arch);
+ if (a && a != 1 && (!bestscore || a < bestscore))
+ bestscore = a;
}
- if (bestarch && (s->arch > pool->lastarch || pool->id2arch[s->arch] != bestarch))
+ if (bestscore && pool_arch2score(pool, s->arch) != bestscore)
{
FOR_PROVIDES(p, pp, s->name)
{
Solvable *ps = pool->solvables + p;
- if (ps->repo == installed && ps->name == s->name && ps->evr == s->evr && ps->arch != s->arch && ps->arch < pool->lastarch && pool->id2arch[ps->arch] == bestarch)
+ if (ps->repo == installed && ps->name == s->name && ps->evr == s->evr && ps->arch != s->arch && pool_arch2score(pool, ps->arch) == bestscore)
if (!MAPTST(&im, p))
{
#ifdef CLEANDEPSDEBUG