diff options
author | Rubidium <rubidium@openttd.org> | 2021-05-10 23:02:44 +0200 |
---|---|---|
committer | rubidium42 <rubidium42@users.noreply.github.com> | 2021-05-15 10:16:10 +0200 |
commit | e6f0d63e258d9847ed564864ddc04967d780c1de (patch) | |
tree | bfd9ae20b028db3439451e0f189716cefea18c19 /src | |
parent | aa5a8fe28a224fd581b6053e4a5ce38f3e1a9694 (diff) | |
download | openttd-e6f0d63e258d9847ed564864ddc04967d780c1de.tar.xz |
Codechange: comparison result is always the same due to earlier check
Practically the length of the handlers not being equal to the number of
features is the problem as it means something was forgotten when adding
a new feature, so static assert to that and let the existing check on
the feature number take care of invalid data from the NewGRFs.
Diffstat (limited to 'src')
-rw-r--r-- | src/newgrf.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 29b6a4903..d2b3449c9 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -4746,6 +4746,7 @@ static void FeatureChangeInfo(ByteReader *buf) /* GSF_ROADTYPES */ RoadTypeChangeInfo, /* GSF_TRAMTYPES */ TramTypeChangeInfo, }; + static_assert(GSF_END == lengthof(handler)); uint8 feature = buf->ReadByte(); uint8 numprops = buf->ReadByte(); @@ -4760,7 +4761,7 @@ static void FeatureChangeInfo(ByteReader *buf) grfmsg(6, "FeatureChangeInfo: Feature 0x%02X, %d properties, to apply to %d+%d", feature, numprops, engine, numinfo); - if (feature >= lengthof(handler) || handler[feature] == nullptr) { + if (handler[feature] == nullptr) { if (feature != GSF_CARGOES) grfmsg(1, "FeatureChangeInfo: Unsupported feature 0x%02X, skipping", feature); return; } |