Offset freshens;
struct stateswitch *swtab[NUMSTATES];
enum state sbtab[NUMSTATES];
+ struct joindata jd;
/* temporal to store attribute tag language */
const char *tmplang;
Id chksumtype;
{
const char *tmp = find_attr("pattern", atts);
if (tmp)
- repodata_add_poolstr_array(pd->data, pd->handle, SOLVABLE_INCLUDES, join2("pattern", ":", tmp));
+ repodata_add_poolstr_array(pd->data, pd->handle, SOLVABLE_INCLUDES, join2(&pd->jd, "pattern", ":", tmp));
}
break;
case STATE_EXTENDSENTRY:
{
const char *tmp = find_attr("pattern", atts);
if (tmp)
- repodata_add_poolstr_array(pd->data, pd->handle, SOLVABLE_EXTENDS, join2("pattern", ":", tmp));
+ repodata_add_poolstr_array(pd->data, pd->handle, SOLVABLE_EXTENDS, join2(&pd->jd, "pattern", ":", tmp));
}
break;
case STATE_LOCATION:
{
case STATE_SOLVABLE:
if (pd->kind && !s->name) /* add namespace in case of NULL name */
- s->name = pool_str2id(pool, join2(pd->kind, ":", ""), 1);
+ s->name = pool_str2id(pool, join2(&pd->jd, pd->kind, ":", 0), 1);
if (!s->arch)
s->arch = ARCH_NOARCH;
if (!s->evr)
break;
case STATE_NAME:
if (pd->kind)
- s->name = pool_str2id(pool, join2(pd->kind, ":", pd->content), 1);
+ s->name = pool_str2id(pool, join2(&pd->jd, pd->kind, ":", pd->content), 1);
else
s->name = pool_str2id(pool, pd->content, 1);
break;
XML_ParserFree(parser);
solv_free(pd.content);
solv_free(pd.lastdirstr);
- join_freemem();
+ join_freemem(&pd.jd);
stringpool_free(&pd.cspool);
solv_free(pd.cscache);