Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
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 is currently offline  mirek
Messages: 13975
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...).
Previous Topic: DLOG, DDUMP macros
Next Topic: PCRE now in plugin
Goto Forum:
  


Current Time: Fri May 03 21:53:14 CEST 2024

Total time taken to generate the page: 0.05339 seconds