From 761c58794058591a300a823e25b5182656d407bf Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 8 Mar 2025 23:20:54 +0000 Subject: [PATCH] Codechange: Use std::array to store most-used railtype. This allows initialisation without memset. --- src/rail_gui.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 85af9fe9e0..90718b064c 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -1944,8 +1944,7 @@ static void SetDefaultRailGui() switch (_settings_client.gui.default_rail_type) { case 2: { /* Find the most used rail type */ - uint count[RAILTYPE_END]; - memset(count, 0, sizeof(count)); + std::array count{}; for (const auto t : Map::Iterate()) { if (IsTileType(t, MP_RAILWAY) || IsLevelCrossingTile(t) || HasStationTileRail(t) || (IsTileType(t, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL)) { @@ -1953,7 +1952,7 @@ static void SetDefaultRailGui() } } - rt = static_cast(std::max_element(count + RAILTYPE_BEGIN, count + RAILTYPE_END) - count); + rt = static_cast(std::distance(std::begin(count), std::ranges::max_element(count))); if (count[rt] > 0) break; /* No rail, just get the first available one */