Commit Graph

19 Commits

Author SHA1 Message Date
Rubidium 1ed0b35520 Fix #10009: bad overflow protection when taking out loans 2023-01-15 12:04:50 +01:00
Michael Lutz 13528bfcd0 Codechange: Un-bitstuff all remaining commands. 2021-12-16 22:28:32 +01:00
Tyler Trahan 48c1c7f221 Cleanup: Fix typo in overflowsafe_type comment 2021-11-09 20:51:38 +01:00
Charles Pigott f1dfc2f482 Codechange: Make OverflowSafeInt constexpr 2021-07-20 10:42:03 +01:00
Charles Pigott 549a58731f Codechange: Remove (unused) ability to specify min/max of OverflowSafeInt 2021-07-20 10:42:03 +01:00
Charles Pigott e6e2a67aa1 Codechange: Use GCC/clang builtins for overflow safety when supported 2021-07-20 10:42:03 +01:00
Charles Pigott 3d0d9edafd Fix: OverflowSafeInt could underflow
Notably, a company with an extremely negative amount of money would
suddenly become very rich
2021-07-20 10:42:03 +01:00
Charles Pigott 1e439979f7 Fix: OverflowSafeInt negation not handling INT64_MIN
INT64_MIN negated is above INT64_MAX, and would overflow.
Instead, when negating INT64_MIN make it INT64_MAX.
This does mean that -(-(INT64_MIN)) != INT64_MIN.
2021-07-20 10:42:03 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
alberth 8fe8765aaa (svn r26685) -Fix: Tighten parameter bound checks on GSCargoMonitor functions, and return -1 on out-of-bound parameters. 2014-07-12 17:04:14 +00:00
rubidium ab964a6cee (svn r26651) -Fix: make sure an abs is used that supports int64 when using abs on those variables 2014-06-17 19:01:45 +00:00
alberth 732e073261 (svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb) 2012-12-01 13:12:39 +00:00
truebrain 1c9bec1999 (svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC) 2011-12-20 17:57:56 +00:00
rubidium 7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium a1e822df6b (svn r16130) -Fix [FS#2855]: the overflowsafe type didn't like dividing by int64 larger than MAX_INT32 causing division by negative numbers and small anomolies when drawing graphs. 2009-04-23 23:29:44 +00:00
rubidium 91fa34ea11 (svn r12873) -Fix [FS#1946]: MSVC is whining because it doesn't understand that bytes should be cast to ints. 2008-04-24 17:53:45 +00:00
rubidium 01e20c9140 (svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations. 2007-12-21 19:21:21 +00:00
rubidium d5c4ba8246 (svn r11673) -Codechange: move the overflow safe type to a separate file. 2007-12-21 08:34:53 +00:00