[Fix] Let's not segfault if a mission is not found in the stack when saving. :/

This commit is contained in:
Allanis 2013-07-31 20:24:14 +01:00
parent a2a5ebe3bb
commit 1c7bd75537

View File

@ -1584,6 +1584,7 @@ int player_missionAlreadyDone(int id) {
/* Save the player in a freaking xmlfile. */
int player_save(xmlTextWriterPtr writer) {
int i;
MissionData* m;
xmlw_startElem(writer, "player");
xmlw_attr(writer, "name", player_name);
@ -1601,10 +1602,14 @@ int player_save(xmlTextWriterPtr writer) {
xmlw_endElem(writer); /* Player. */
/* Mission the player has done. */
xmlw_startElem(writer, "missions_done");
for(i = 0; i < missions_ndone; i++)
for(i = 0; i < missions_ndone; i++) {
m = mission_get(missions_done[i]);
if(m != NULL) /* In case mission name changes between versions. */
xmlw_elem(writer, "done", mission_get(missions_done[i])->name);
}
xmlw_endElem(writer); /* missions_done. */