- if (solv->decisionmap[i] > 0)
- continue;
- if (obsoletesmap[i])
- continue;
- s = pool->solvables + i;
- if (solv->rc_output == 2)
- printf(">!> remove %s-%s%s\n", id2str(pool, s->name), id2rc(solv, s->evr), id2str(pool, s->evr));
- else if (solv->rc_output)
- printf(">!> remove %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch));
- else
- printf("erase %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch));
- uninstalls++;
+ for (i = installed->start; i < installed->end; i++)
+ {
+ s = pool->solvables + i;
+ if (s->repo != installed)
+ continue;
+ if (solv->decisionmap[i] > 0)
+ continue;
+ if (obsoletesmap[i])
+ continue;
+ if (solv->rc_output == 2)
+ printf(">!> remove %s-%s%s\n", id2str(pool, s->name), id2rc(solv, s->evr), id2str(pool, s->evr));
+ else if (solv->rc_output)
+ printf(">!> remove %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch));
+ else
+ printf("erase %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch));
+ uninstalls++;
+ }