int poolusage, dirpoolusage, idused, dirused;
int reloff;
- Repodata *data;
+ Repodata *data, *dirpooldata = 0;
Stringpool ownspool, *spool;
Dirpool owndirpool, *dirpool;
{
dirpoolusage = 2;
dirpool = &data->dirpool;
+ dirpooldata = data;
}
}
}
else
stringpool_init_empty(spool);
cbdata.ownspool = spool;
- if (dirpoolusage)
- dirpoolusage = 3; /* hmm, maybe not needed */
}
else if (poolusage == 0 || poolusage == 1)
{
if (dirpoolusage == 3)
{
dirpool = &owndirpool;
+ dirpooldata = 0;
dirpool_create(dirpool);
cbdata.owndirpool = dirpool;
}
n++;
}
- reloff = needid[0].map;
-
/* If we have fileinfos to write, setup schemas and increment needid[]
of the right strings. */
for (i = 0; i < nsubfiles; i++)
continue;
if (cbdata.dirused && !cbdata.dirused[i])
continue;
+ if (cbdata.ownspool && dirpooldata && id > 1)
+ {
+ id = putinownpool(&cbdata, dirpooldata->localpool ? &dirpooldata->spool : &pool->ss, id);
+ needid = cbdata.needid;
+ }
needid[id].need++;
}
}
+ reloff = needid[0].map;
+
+
/********************************************************************/
/*
if (dirmap[i] <= 0)
continue;
cbdata.dirused[dirmap[i]] = i;
- dirmap[i] = needid[dirpool->dirs[dirmap[i]]].need;
+ id = dirpool->dirs[dirmap[i]];
+ if (cbdata.ownspool && dirpooldata && id > 1)
+ id = putinownpool(&cbdata, dirpooldata->localpool ? &dirpooldata->spool : &pool->ss, id);
+ dirmap[i] = needid[id].need;
}
}