Id *schemadata, *schemadatap, *schemadataend;
Id *schemata, key;
int have_xdata;
+ unsigned oldnrepodata;
struct _Stringpool *spool;
/******* Part 6: Info ***********************************************/
+ oldnrepodata = repo->nrepodata;
for (i = 0; i < numinfo; i++)
{
/* for now we're just interested in data that starts with
data.end = data.start + numsolv;
/* In case we have subfiles, make them refer to our part of the
repository now. */
- for (i = 0; i < repo->nrepodata; i++)
+ for (i = oldnrepodata; i < repo->nrepodata; i++)
{
repo->repodata[i].start = data.start;
repo->repodata[i].end = data.end;
int rm;
#if 0
- fprintf(stderr, "solvable %d (%s): key %d %d\n", s ? s - s->repo->pool->solvables : 0, s ? id2str(s->repo->pool, s->name) : "", key->name, key->type);
+ fprintf(stderr, "solvable %d (%s): key (%d)%s %d\n", s ? s - s->repo->pool->solvables : 0, s ? id2str(s->repo->pool, s->name) : "", key->name, id2str(repo->pool, key->name), key->type);
#endif
- rm = cbdata->keymap[cbdata->keymapstart[data->repo->repodata - data] + (key - data->keys)];
+ rm = cbdata->keymap[cbdata->keymapstart[data - data->repo->repodata] + (key - data->keys)];
if (!rm)
return SEARCH_NEXT_KEY; /* we do not want this one */
if (cbdata->sp == cbdata->schema || cbdata->sp[-1] != rm)
unsigned char v[4];
struct extdata *xd;
- rm = cbdata->keymap[cbdata->keymapstart[data->repo->repodata - data] + (key - data->keys)];
+ rm = cbdata->keymap[cbdata->keymapstart[data - data->repo->repodata] + (key - data->keys)];
if (!rm)
return 0; /* we do not want this one */
}
if (k < cbdata.nmykeys)
{
- cbdata.keymap[n++] = 0;
+ repodataused[i] = 1;
+ cbdata.keymap[n++] = k;
continue;
}
cbdata.mykeys[cbdata.nmykeys] = *key;