------------------------------------------------------------------------ r2394 | helixhorned | 2012-03-01 15:36:11 -0800 (Thu, 01 Mar 2012) | 3 lines Define strtoll to _strtoi64 on MSVC. Usage of a search machine by Hendricks. ------------------------------------------------------------------------ r2393 | helixhorned | 2012-03-01 15:35:53 -0800 (Thu, 01 Mar 2012) | 1 line When failing to open a savegame file for writing, print the reason to the log. ------------------------------------------------------------------------ r2392 | helixhorned | 2012-02-29 07:27:40 -0800 (Wed, 29 Feb 2012) | 16 lines More rebust (and "correct"/expected) decimal number parsing in CON. The replacement of atoi with strtol in r2374 had the side-effect that numbers out of the range of a 32-bit integer were being returned as LONG_MAX/LONG_MIN instead of being converted by taking the bits and re-interpreting them (note that it was a coincidence that atoi behaved that way; to be strict, the behavior was undefined and there is no regression). Now, we implement parsing decimal integers using strtoll (with assuming "long long" being the same as int64_t) and check in which range the number falls. If it's in the range (INT32_MAX <= x <= UINT32_MAX), issue a warning; if it's not in (INT32_MIN <= x <= UINT32_MAX), warn too (though this better ought to be an error?). In each case, the bit representation is converted to the CON number type (int32 to assume maximum portability) by re-interpreting the bits [this is the same as an int/int cast, with GCC at least; more generally, it's implementation-defined per C99]. ------------------------------------------------------------------------