------------------------------------------------------------------------ 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]. ------------------------------------------------------------------------ r2391 | helixhorned | 2012-02-27 11:40:28 -0800 (Mon, 27 Feb 2012) | 1 line Make 'dommxoverlay' and 'beforedrawrooms' static in engine.c. ------------------------------------------------------------------------