I demand that Fabian Greffrath may or may not have written...

> Am Freitag, den 13.04.2007, 21:28 +0100 schrieb Darren Salt:
>> I've seen exactly the same crash. On looking at the source, I see the
>> usual 32bit-isms: an assumption that long is 32 bits wide, and many casts
>> between pointer types and either int or unsigned int.

> As an experiment: Could you please try to build and run rott with the
> '-m32' flag set? Please find a patch attached.

That requires that several libraries be built as 32-bit; you may as well run
the game from a 32-bit chrooted environment.

Fixing this requires replacement of most uses of unsigned long with uint32_t
and, similarly, long with int32_t - structures which directly represent
on-disk or network data *must* be fixed in this way (and I/O involving them
needs to be endian-neutral), but local variables may well be fine as they
are. where a variable of integral type is used to store a pointer, its type
must be intptr_t or uintptr_t.

<stdint.h> needs to be #included for these types.

-- 
| Darren Salt    | linux or ds at              | nr. Ashington, | Toon
| RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army
| + At least 4000 million too many people. POPULATION LEVEL IS UNSUSTAINABLE.

If everything seems to be going well, you've obviously overlooked something.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to