- Repo *repo = pool->repos[i];
- int si;
- Solvable *s;
- memcpy (new_id + new_id_size, repo->idarraydata,
- repo->idarraysize * sizeof (new_id[0]));
- FOR_REPO_SOLVABLES (repo, si, s)
- {
- if (s->provides)
- s->provides += new_id_size;
- if (s->obsoletes)
- s->obsoletes += new_id_size;
- if (s->conflicts)
- s->conflicts += new_id_size;
- if (s->requires)
- s->requires += new_id_size;
- if (s->recommends)
- s->recommends += new_id_size;
- if (s->suggests)
- s->suggests+= new_id_size;
- if (s->supplements)
- s->supplements += new_id_size;
- if (s->enhances)
- s->enhances += new_id_size;
- if (s->freshens)
- s->freshens += new_id_size;
- if (i > 0)
- s->repo = pool->repos[0];
- }
- new_id_size += repo->idarraysize;
- if (i > 0)
- {
- pool->repos[0]->nsolvables += repo->nsolvables;
- if (pool->repos[0]->start > repo->start)
- pool->repos[0]->start = repo->start;
- if (pool->repos[0]->end < repo->end)
- pool->repos[0]->end = repo->end;
- repo->nsolvables = 0;
- repo->start = pool->nsolvables;
- repo->end = repo->start;
- free (repo->idarraydata);
- repo->idarraydata = 0;