NULL-pointer in sp_destroy_curse

This commit is contained in:
Enno Rehling 2003-01-26 08:55:47 +00:00
parent d7c3ffa0cc
commit b5a119c47b
1 changed files with 31 additions and 31 deletions

View File

@ -7106,9 +7106,8 @@ sp_destroy_curse(castorder *co)
add_message(&mage->faction->msgs, new_message(mage->faction, add_message(&mage->faction->msgs, new_message(mage->faction,
"spelltargetnotfound%u:unit%r:region%s:command", "spelltargetnotfound%u:unit%r:region%s:command",
mage, mage->region, strdup(co->order))); mage, mage->region, strdup(co->order)));
} } else {
switch(obj){
switch(obj){
case SPP_REGION: case SPP_REGION:
ap = &r->attribs; ap = &r->attribs;
set_string(&ts, regionname(r, mage->faction)); set_string(&ts, regionname(r, mage->faction));
@ -7138,36 +7137,37 @@ sp_destroy_curse(castorder *co)
default: default:
/* Das Zielobjekt wurde vergessen */ /* Das Zielobjekt wurde vergessen */
cmistake(mage, strdup(co->order), 203, MSG_MAGIC); cmistake(mage, strdup(co->order), 203, MSG_MAGIC);
return 0; return 0;
}
/* überprüfung, ob curse zu diesem objekt gehört */
if (!is_cursed_with(*ap, c)){
/* Es wurde kein Ziel gefunden */
add_message(&mage->faction->msgs,
new_message(mage->faction,
"spelltargetnotfound%u:unit%r:region%s:command",
mage, mage->region, strdup(co->order)));
}
/* curse auflösen, wenn zauber stärker (force > vigour)*/
succ = c->vigour - force;
c->vigour = max(0, succ);
if(succ <= 0) {
remove_curse(ap, c);
add_message(&mage->faction->msgs, new_message(mage->faction,
"destroy_magic_effect%u:unit%r:region%s:command%i:id%s:target",
mage, mage->region, strdup(co->order), strdup(pa->param[1]->data.s),
strdup(ts)));
} else {
add_message(&mage->faction->msgs, new_message(mage->faction,
"destroy_magic_noeffect%u:unit%r:region%s:command",
mage, mage->region, strdup(co->order)));
}
} }
/* überprüfung, ob curse zu diesem objekt gehört */
if (!is_cursed_with(*ap, c)){
/* Es wurde kein Ziel gefunden */
add_message(&mage->faction->msgs, new_message(mage->faction,
"spelltargetnotfound%u:unit%r:region%s:command",
mage, mage->region, strdup(co->order)));
}
/* curse auflösen, wenn zauber stärker (force > vigour)*/
succ = c->vigour - force;
c->vigour = max(0, succ);
if(succ <= 0) {
remove_curse(ap, c);
add_message(&mage->faction->msgs, new_message(mage->faction,
"destroy_magic_effect%u:unit%r:region%s:command%i:id%s:target",
mage, mage->region, strdup(co->order), strdup(pa->param[1]->data.s),
strdup(ts)));
} else {
add_message(&mage->faction->msgs, new_message(mage->faction,
"destroy_magic_noeffect%u:unit%r:region%s:command",
mage, mage->region, strdup(co->order)));
}
if(ts != NULL) free(ts); if(ts != NULL) free(ts);
return cast_level; return cast_level;
} }