Skip to content

Commit

Permalink
Fix array bounds compiler warnings for track to track dir
Browse files Browse the repository at this point in the history
See: #817
  • Loading branch information
JGRennison committed Feb 9, 2025
1 parent cbddfbc commit 659a4c1
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/train_cmd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5706,6 +5706,7 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse)
/* Currently the locomotive is active. Determine which one of the
* available tracks to choose */
ChooseTrainTrackResult result = ChooseTrainTrack(v, gp.new_tile, enterdir, bits, CTTF_MARK_STUCK | CTTF_NON_LOOKAHEAD);
assert(IsValidTrack(result.track));
chosen_track = TrackToTrackBits(result.track);
reverse_at_signal = (result.ctt_flags & CTTRF_REVERSE_AT_SIGNAL);
dbg_assert_msg_tile(chosen_track & (bits | GetReservedTrackbits(gp.new_tile)), gp.new_tile, "0x{:X}, 0x{:X}, 0x{:X}", chosen_track, bits, GetReservedTrackbits(gp.new_tile));
Expand Down Expand Up @@ -7018,9 +7019,10 @@ Trackdir Train::GetVehicleTrackdir() const
TrackBits tracks = GetAcrossTunnelBridgeReservationTrackBits(this->tile);
if (tracks == TRACK_BIT_NONE) {
tracks = GetAcrossTunnelBridgeTrackBits(this->tile);
if (unlikely(tracks == TRACK_BIT_NONE)) return INVALID_TRACKDIR;
}
Trackdir td = TrackExitdirToTrackdir(FindFirstTrack(tracks), GetTunnelBridgeDirection(this->tile));
Track track = FindFirstTrack(tracks);
if (unlikely(!IsValidTrack(track))) return INVALID_TRACKDIR;
Trackdir td = TrackExitdirToTrackdir(track, GetTunnelBridgeDirection(this->tile));
if (GetTunnelBridgeDirection(this->tile) != DirToDiagDir(this->direction)) td = ReverseTrackdir(td);
return td;
} else if (this->track & TRACK_BIT_WORMHOLE) {
Expand Down

0 comments on commit 659a4c1

Please sign in to comment.