diff options
author | Patric Stout <truebrain@openttd.org> | 2021-03-01 13:12:17 +0100 |
---|---|---|
committer | Patric Stout <github@truebrain.nl> | 2021-03-01 23:17:47 +0100 |
commit | 74aa934441351334e40d8963900b8a2fbc9bc9cd (patch) | |
tree | 1257efebb69111b35c5026d59c0504088faff0d8 /src/table/settings.ini | |
parent | d7a70c67bacef7453ae56e9136c9c16e4b19c314 (diff) | |
download | openttd-74aa934441351334e40d8963900b8a2fbc9bc9cd.tar.xz |
Codechange: validate that "max" value of settings fit in their storage
This is an easy mistake to make, so protect us against making such
mistakes, by validating it doesn't happen.
Diffstat (limited to 'src/table/settings.ini')
-rw-r--r-- | src/table/settings.ini | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/table/settings.ini b/src/table/settings.ini index dd0ecfee5..b48ac6cd6 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -77,6 +77,14 @@ SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, SDT_NULL = SDT_NULL($length, $from, $to), SDT_END = SDT_END() +[validation] +SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); +SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); +SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); +SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); +SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size"); +SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size"); + [defaults] flags = 0 guiflags = SGF_NONE |