forked from github/server
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:
parent
5c9e9f7b9a
commit
ea321bbc59
|
@ -79,8 +79,6 @@ typedef struct donation {
|
||||||
int amount;
|
int amount;
|
||||||
} donation;
|
} donation;
|
||||||
|
|
||||||
static donation *donations = 0;
|
|
||||||
|
|
||||||
typedef struct request {
|
typedef struct request {
|
||||||
struct request * next;
|
struct request * next;
|
||||||
struct unit *unit;
|
struct unit *unit;
|
||||||
|
|
|
@ -841,15 +841,16 @@ parse_equipment(xmlDocPtr doc)
|
||||||
{
|
{
|
||||||
xmlXPathContextPtr xpath = xmlXPathNewContext(doc);
|
xmlXPathContextPtr xpath = xmlXPathNewContext(doc);
|
||||||
xmlXPathObjectPtr items;
|
xmlXPathObjectPtr items;
|
||||||
xmlNodeSetPtr nodes;
|
xmlNodeSetPtr nsetItems;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* reading eressea/races/race */
|
/* reading eressea/races/race */
|
||||||
items = xmlXPathEvalExpression(BAD_CAST "/eressea/equipment/item", xpath);
|
items = xmlXPathEvalExpression(BAD_CAST "/eressea/equipment/item", xpath);
|
||||||
nodes = items->nodesetval;
|
nsetItems = items->nodesetval;
|
||||||
|
|
||||||
for (i=0;i!=nodes->nodeNr;++i) {
|
if (nsetItems!=NULL) {
|
||||||
xmlNodePtr node = nodes->nodeTab[i];
|
for (i=0;i!=nsetItems->nodeNr;++i) {
|
||||||
|
xmlNodePtr node = nsetItems->nodeTab[i];
|
||||||
xmlChar * property;
|
xmlChar * property;
|
||||||
const struct item_type * itype;
|
const struct item_type * itype;
|
||||||
|
|
||||||
|
@ -867,6 +868,7 @@ parse_equipment(xmlDocPtr doc)
|
||||||
add_equipment(itype, num);
|
add_equipment(itype, num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
xmlXPathFreeObject(items);
|
xmlXPathFreeObject(items);
|
||||||
xmlXPathFreeContext(xpath);
|
xmlXPathFreeContext(xpath);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue