diff --git a/src/kernel/save.c b/src/kernel/save.c index b70583fc8..300555180 100644 --- a/src/kernel/save.c +++ b/src/kernel/save.c @@ -1346,16 +1346,11 @@ void writefaction(struct gamedata *data, const faction * f) WRITE_SECTION(data->store); for (sf = f->allies; sf; sf = sf->next) { - if (sf->faction != NULL) { - int no = sf->faction->no; - int status = alliedfaction(NULL, f, sf->faction, HELP_ALL); - if (status != 0) { - WRITE_INT(data->store, no); - WRITE_INT(data->store, sf->status); - } - } - else { - log_error("NULL-pointer in ally-struct for faction '%s'.", f->no); + int no = (sf->faction != NULL) ? sf->faction->no : 0; + int status = alliedfaction(NULL, f, sf->faction, HELP_ALL); + if (status != 0) { + WRITE_INT(data->store, no); + WRITE_INT(data->store, sf->status); } } WRITE_INT(data->store, 0);