do not crash when starting equipment isn't defined in the xml file (it may be in the lua file, after all).

This commit is contained in:
Enno Rehling 2005-06-04 15:18:18 +00:00
parent 5c9e9f7b9a
commit ea321bbc59
2 changed files with 19 additions and 19 deletions

View File

@ -79,8 +79,6 @@ typedef struct donation {
int amount;
} donation;
static donation *donations = 0;
typedef struct request {
struct request * next;
struct unit *unit;

View File

@ -841,15 +841,16 @@ parse_equipment(xmlDocPtr doc)
{
xmlXPathContextPtr xpath = xmlXPathNewContext(doc);
xmlXPathObjectPtr items;
xmlNodeSetPtr nodes;
xmlNodeSetPtr nsetItems;
int i;
/* reading eressea/races/race */
items = xmlXPathEvalExpression(BAD_CAST "/eressea/equipment/item", xpath);
nodes = items->nodesetval;
nsetItems = items->nodesetval;
for (i=0;i!=nodes->nodeNr;++i) {
xmlNodePtr node = nodes->nodeTab[i];
if (nsetItems!=NULL) {
for (i=0;i!=nsetItems->nodeNr;++i) {
xmlNodePtr node = nsetItems->nodeTab[i];
xmlChar * property;
const struct item_type * itype;
@ -867,6 +868,7 @@ parse_equipment(xmlDocPtr doc)
add_equipment(itype, num);
}
}
}
xmlXPathFreeObject(items);
xmlXPathFreeContext(xpath);