EDuke32 Changelog Unofficial archive

Build 2394

1 March 2012 · 2 commits by 1 author · SVN

Builds by month 138 builds

  1. Jan

  2. Feb

  3. Mar

  4. Apr

  5. May

  6. Jun

  7. Jul

  8. Aug

  9. Sep

  10. Oct

  11. Nov

  12. Dec

Original log file · 20120301-2394.txt
------------------------------------------------------------------------
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].
------------------------------------------------------------------------
FixCON
Already listed in build 2392

More rebust (and "correct"/expected) decimal number parsing in CON.

Philipp Kutin (Helixhorned) 29 Feb 2012, 07:27 UTC−8 r2392

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].