From 9f8dbeccb52809d801fc37b8fa6a8530cd07e68c Mon Sep 17 00:00:00 2001 From: Allanis <allanis@saracraft.net> Date: Wed, 28 May 2014 15:50:24 +0100 Subject: [PATCH] [Fix] More FreeBSD fixes. --- src/pilot.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/pilot.c b/src/pilot.c index 9d16308..3280350 100644 --- a/src/pilot.c +++ b/src/pilot.c @@ -1440,8 +1440,12 @@ int pilot_rmMissionCargo(Pilot* pilot, unsigned int cargo_id, int jettison) { sizeof(PilotCommodity) * (pilot->ncommodities-i-1)); pilot->ncommodities--; - pilot->commodities = realloc(pilot->commodities, - sizeof(PilotCommodity) * pilot->ncommodities); + if(pilot->ncommodities == 0) { + free(pilot->commodities); + pilot->commodities = NULL; + } else + pilot->commodities = realloc(pilot->commodities, + sizeof(PilotCommodity) * pilot->ncommodities); return 0; } @@ -1468,8 +1472,13 @@ int pilot_rmCargo(Pilot* pilot, Commodity* cargo, int quantity) { memmove(pilot->commodities+i, pilot->commodities+i+1, sizeof(PilotCommodity)*(pilot->ncommodities-i)); pilot->ncommodities--; - pilot->commodities = realloc(pilot->commodities, - sizeof(PilotCommodity)*pilot->ncommodities); + if(pilot->ncommodities == 0) { + free(pilot->commodities); + pilot->commodities = NULL; + } + else + pilot->commodities = realloc(pilot->commodities, + sizeof(PilotCommodity) * pilot->ncommodities); } else pilot->commodities[i].quantity -= q;