if (s)
{
pool_debug(pool, SOLV_ERROR, "unclosed package at EOF\n");
- repo_free_solvable(s->repo, s - pool->solvables, 1);
+ s = solvable_free(s, 1);
}
solv_free(buf);
if (!(flags & REPO_NO_INTERNALIZE))
}
}
-static void
-errorCallback(struct solv_xmlparser *xmlp, const char *errstr, unsigned int line, unsigned int column)
-{
- struct parsedata *pd = xmlp->userdata;
- pool_debug(pd->pool, SOLV_ERROR, "%s at line %u:%u\n", errstr, line, column);
-}
-
-
int
repo_add_mdk_info(Repo *repo, FILE *fp, int flags)
{
pd.repo = repo;
pd.pool = repo->pool;
pd.data = data;
- solv_xmlparser_init(&pd.xmlp, stateswitches, &pd, startElement, endElement, errorCallback);
+ solv_xmlparser_init(&pd.xmlp, stateswitches, &pd, startElement, endElement);
pd.joinhash = joinhash_init(repo, &pd.joinhashmask);
- solv_xmlparser_parse(&pd.xmlp, fp);
+ if (solv_xmlparser_parse(&pd.xmlp, fp) != SOLV_XMLPARSER_OK)
+ pool_debug(pd.pool, SOLV_ERROR, "%s at line %u:%u\n", pd.xmlp.errstr, pd.xmlp.line, pd.xmlp.column);
solv_xmlparser_free(&pd.xmlp);
solv_free(pd.joinhash);
if (!(flags & REPO_NO_INTERNALIZE))