(svn r14933) -Codechange: check the whether a pool item can be constructed instead of trying to make it and check for NULL.

This commit is contained in:
rubidium
2009-01-09 14:59:02 +00:00
parent 331b8dd7d4
commit f0b0691bfe
7 changed files with 88 additions and 115 deletions

View File

@@ -242,17 +242,13 @@ byte VehicleRandomBits()
/* static */ bool Vehicle::AllocateList(Vehicle **vl, int num)
{
if (!Vehicle::CanAllocateItem(num)) return false;
if (vl == NULL) return true;
uint counter = _Vehicle_pool.first_free_index;
for (int i = 0; i != num; i++) {
Vehicle *v = AllocateRaw(counter);
if (v == NULL) return false;
v = new (v) InvalidVehicle();
if (vl != NULL) {
vl[i] = v;
}
vl[i] = new (AllocateRaw(counter)) InvalidVehicle();
counter++;
}