Home » Developing U++ » U++ TheIDE and Library: Releases and ChangeLogs » Fixed two critical Linux bugs...
Fixed two critical Linux bugs... [message #7380] |
Mon, 25 December 2006 11:05 |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
- fluxbox crashing was fixed
- crashing in 64-bit mode was fixed.
BTW, this second one was a bug with moral story. After 40 hours of hunting it down, it was caused by:
void Put32(int q) { if(ptr < wrlim - 3) { *(long *)ptr = q; ptr += 4; } else Put(&q, 4); }
...but in GCC64, long is 64-bit.
Moral of the story is to never use "long" and use types with defined width if width matters.
(Sure, it is well known, to apologize our incompetence, that small piece of code is one of oldest parts of U++. I guess we have mistyped "long" there around 1998...).
|
|
|
Goto Forum:
Current Time: Sun Apr 27 16:01:59 CEST 2025
Total time taken to generate the page: 0.00884 seconds
|