From 6a1a4fc5bbf053465aaa74985e2418f7ae241dd9 Mon Sep 17 00:00:00 2001
From: rubidium <rubidium@openttd.org>
Date: Thu, 11 Nov 2010 09:12:01 +0000
Subject: [PATCH] (svn r21143) -Codechange: reduce the number of dereferences
 in UpdateStationWaiting

---
 src/station_cmd.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index cee335fc12..1ce324cdf8 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -3192,15 +3192,16 @@ void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint rad
 
 static uint UpdateStationWaiting(Station *st, CargoID type, uint amount, SourceType source_type, SourceID source_id)
 {
-	amount += st->goods[type].amount_fract;
-	st->goods[type].amount_fract = GB(amount, 0, 8);
+	GoodsEntry &ge = st->goods[type];
+	amount += ge.amount_fract;
+	ge.amount_fract = GB(amount, 0, 8);
 
 	amount >>= 8;
 	/* No new "real" cargo item yet. */
 	if (amount == 0) return 0;
 
-	st->goods[type].cargo.Append(new CargoPacket(st->index, st->xy, amount, source_type, source_id));
-	SetBit(st->goods[type].acceptance_pickup, GoodsEntry::PICKUP);
+	ge.cargo.Append(new CargoPacket(st->index, st->xy, amount, source_type, source_id));
+	SetBit(ge.acceptance_pickup, GoodsEntry::PICKUP);
 
 	TriggerStationAnimation(st, st->xy, SAT_NEW_CARGO, type);
 	AirportAnimationTrigger(st, AAT_STATION_NEW_CARGO, type);