- Source *source = pool->sources[i];
- int si;
- memcpy (new_id + new_id_size, source->idarraydata,
- source->idarraysize * sizeof (new_id[0]));
- for (si = source->start; si < source->start + source->nsolvables; si++)
- {
- Solvable *s = pool->solvables + si;
- adjust (&s->provides, new_id + new_id_size, source);
- adjust (&s->obsoletes, new_id + new_id_size, source);
- adjust (&s->conflicts, new_id + new_id_size, source);
- adjust (&s->requires, new_id + new_id_size, source);
- adjust (&s->recommends, new_id + new_id_size, source);
- adjust (&s->suggests, new_id + new_id_size, source);
- adjust (&s->supplements, new_id + new_id_size, source);
- adjust (&s->enhances, new_id + new_id_size, source);
- adjust (&s->freshens, new_id + new_id_size, source);
- }
- new_id_size += source->idarraysize;
- if (i > 0)
- {
- pool->sources[0]->nsolvables += source->nsolvables;
- source->nsolvables = 0;
- source->start = pool->nsolvables;
- free (source->idarraydata);
- source->idarraydata = 0;