summaryrefslogtreecommitdiff
path: root/engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'engine.c')
-rw-r--r--engine.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/engine.c b/engine.c
index 0bcce2904..878d521a2 100644
--- a/engine.c
+++ b/engine.c
@@ -503,10 +503,12 @@ static EngineRenew *GetEngineReplacement(EngineRenewList erl, EngineID engine)
void RemoveAllEngineReplacement(EngineRenewList *erl)
{
EngineRenew *er = (EngineRenew *)(*erl);
+ EngineRenew *next;
while (er) {
- er->from = INVALID_ENGINE; // "Deallocate" elements
- er = er->next;
+ next = er->next;
+ DeleteEngineRenew(er);
+ er = next;
}
*erl = NULL; // Empty list
}
@@ -559,7 +561,7 @@ int32 RemoveEngineReplacement(EngineRenewList *erl, EngineID engine, uint32 flag
/* Cut this element out */
prev->next = er->next;
}
- er->from = INVALID_ENGINE; // Deallocate
+ DeleteEngineRenew(er);
}
return 0;
}