# HG changeset patch # User rubidium # Date 1209059625 0 # Node ID 66549710afdbc3b267f4185c989d749663dafff4 # Parent 591ed295da2b44b655c2163a1102caf48d62d3ac (svn r12873) -Fix [FS#1946]: MSVC is whining because it doesn't understand that bytes should be cast to ints. diff -r 591ed295da2b -r 66549710afdb src/core/overflowsafe_type.hpp --- a/src/core/overflowsafe_type.hpp Thu Apr 24 15:51:29 2008 +0000 +++ b/src/core/overflowsafe_type.hpp Thu Apr 24 17:53:45 2008 +0000 @@ -139,9 +139,9 @@ template FORCEINLINE OverflowSafeInt operator / (uint a, OverflowSafeInt b) { return (OverflowSafeInt)a / (int)b; } /* Sometimes we got byte operator OverflowSafeInt instead of vice versa. Handle that properly */ -template FORCEINLINE OverflowSafeInt operator + (byte a, OverflowSafeInt b) { return b + a; } -template FORCEINLINE OverflowSafeInt operator - (byte a, OverflowSafeInt b) { return -b + a; } -template FORCEINLINE OverflowSafeInt operator * (byte a, OverflowSafeInt b) { return b * a; } +template FORCEINLINE OverflowSafeInt operator + (byte a, OverflowSafeInt b) { return b + (uint)a; } +template FORCEINLINE OverflowSafeInt operator - (byte a, OverflowSafeInt b) { return -b + (uint)a; } +template FORCEINLINE OverflowSafeInt operator * (byte a, OverflowSafeInt b) { return b * (uint)a; } template FORCEINLINE OverflowSafeInt operator / (byte a, OverflowSafeInt b) { return (OverflowSafeInt)a / (int)b; } typedef OverflowSafeInt OverflowSafeInt64;