//-----------------------------------------------------------------------------
//
-// Liberally lifted from the Office example on MSDN and modified.
-// http://msdn.microsoft.com/library/en-us/dncode/html/secure01142004.asp
+// Liberally lifted from https://github.com/dcleblanc/SafeInt and modified.
//
// Modified to track an overflow bit instead of throwing exceptions. In most
// cases the Visual C++ optimizer (Whidbey beta1 - v14.00.40607) is able to