pd.repo = repo;
pd.data = data;
solv_xmlparser_init(&pd.xmlp, stateswitches, &pd, startElement, endElement);
- solv_xmlparser_parse(&pd.xmlp, fp);
+ if (solv_xmlparser_parse(&pd.xmlp, fp) != SOLV_XMLPARSER_OK)
pd.ret = pool_error(pool, -1, "repo_updateinfoxml: %s at line %u:%u", pd.xmlp.errstr, pd.xmlp.line, pd.xmlp.column);
solv_xmlparser_free(&pd.xmlp);
join_freemem(&pd.jd);
for (;;)
{
l = fread(buf, 1, sizeof(buf), fp);
- if (!parse_block(xmlp, buf, l) || !l)
+ if (!parse_block(xmlp, buf, l))
{
ret = SOLV_XMLPARSER_ERROR;
break;
}
+ if (!l)
+ break;
}
free_parser(xmlp);
return ret;