Browse logs with clarity: filter by type/year, search text, and inspect parsed commit details.

2100Total Files
2088SVN Logs
12Git Changelogs
1541Filtered Results

Detail

2013.09.21.Log0898.txt

📄SVN 📅2013-09-21 💾1,8 KB 3 Parsed entries CON FIX

Revision r4068

Prevent calling function pointers cast to an incompatible type.

Most often, this had happened when casting comparison functions for qsort()
like these: "int yax_cmpbunches(const int16_t *b1, const int16_t *b2)"
to a function pointer type expecting "const void *". Alas, this is undefined
behavior: see
http://blog.frama-c.com/index.php?post/2013/08/24/Function-pointers-in-C
and posts linked from it.

At least two cases have not been fixed:
- The savegame system maintains pointers which are either to data or a function in
  the generic "void *". This ought to be made into a union.
- Probably also:
  #define OSD_ALIAS     (int32_t (*)(const osdfuncparm_t*))0x1337

Revision r4067

Minor changes for Lunatic utils, replace missed sound flag literals with macros.

Revision r4066

Add WIP x86_64 assembly texture mapping routines.

- Currently: only tvlineasm1 and tvlineasm2, but incomplete (no reverse
  translucency, nonpow2 textures will crash)
- For System V AMD64 calling conventions; requires YASM
------------------------------------------------------------------------
Raw Content
------------------------------------------------------------------------
r4069 | helixhorned | 2013-09-21 06:38:56 -0700 (Sat, 21 Sep 2013) | 6 lines

In C++ build, fix "narrowing conversion inside { } is ill-formed" warning.

This also exposes an actual issue. The sound definitions may be dynamically
remapped, in which case they are not necessarily <=255 any more.

BUILD_LUNATIC.
------------------------------------------------------------------------
r4068 | helixhorned | 2013-09-21 06:38:44 -0700 (Sat, 21 Sep 2013) | 14 lines

Prevent calling function pointers cast to an incompatible type.

Most often, this had happened when casting comparison functions for qsort()
like these: "int yax_cmpbunches(const int16_t *b1, const int16_t *b2)"
to a function pointer type expecting "const void *". Alas, this is undefined
behavior: see
http://blog.frama-c.com/index.php?post/2013/08/24/Function-pointers-in-C
and posts linked from it.

At least two cases have not been fixed:
- The savegame system maintains pointers which are either to data or a function in
  the generic "void *". This ought to be made into a union.
- Probably also:
  #define OSD_ALIAS     (int32_t (*)(const osdfuncparm_t*))0x1337
------------------------------------------------------------------------
r4067 | helixhorned | 2013-09-21 06:38:07 -0700 (Sat, 21 Sep 2013) | 1 line

Minor changes for Lunatic utils, replace missed sound flag literals with macros.
------------------------------------------------------------------------
r4066 | helixhorned | 2013-09-21 06:37:31 -0700 (Sat, 21 Sep 2013) | 5 lines

Add WIP x86_64 assembly texture mapping routines.

- Currently: only tvlineasm1 and tvlineasm2, but incomplete (no reverse
  translucency, nonpow2 textures will crash)
- For System V AMD64 calling conventions; requires YASM
------------------------------------------------------------------------