[Gtkradiant] Bug with libs/ddslib/ddslib.c lines 693 to 723 on 64 bit systems.

Randy Reddig ydnar at shaderlab.com
Thu Mar 13 16:03:32 CDT 2008


If the loaded struct has a size_t or void *, then replace it with an  
int and handle it as a 32-bit integer.

Randy


On Mar 13, 2008, at 1:12 PM, Branan Riley wrote:

> Has anyone figured this out yet? I glanced over the code that
> determines width and height, and it looks OK to me.
>
> When the DDS data is loaded, how is it done? is it a chunk of memory
> that's cast to a ddsBuffer_t*? if so, the problem might be alignment
> issues caused by "void* surface" on line 184 of ddslib.h. Other than
> that, my cursory glance reveals nothing of use.
>
> On Thu, Jan 17, 2008 at 6:37 AM, Forest Hale  
> <lordhavoc at ghdigital.com> wrote:
>> Jay Dolan wrote:
>>> Forest Hale wrote:
>>>>
>>>> All pointers are always the same size on a given architecture,  
>>>> the bug is somewhere else (possibly in the dds width/height  
>>>> reading for example?).
>>>>
>>>> Note that sizeof(size_t) is always equal to sizeof(void *),  
>>>> size_t is the correct type to use when pointer-size integer  
>>>> arithmetic is needed.
>>>>
>>>>
>>> I thought ptrdiff_t was recommended for such things.  Same-same,  
>>> maybe?
>>
>> ptrdiff_t is not part of ANSI C, so you can't count on it existing,  
>> if I recall correctly MSVS2005 lacks it but I may be thinking of  
>> older versions.
>>
>> The other difference is that ptrdiff_t is signed, size_t is unsigned.
>>
>>
>> --
>> LordHavoc
>> Author of DarkPlaces Quake1 engine and mod
>> http://icculus.org/twilight/darkplaces/
>> "War does not prove who is right, it proves who is left." - Unknown
>> "Any sufficiently advanced technology is indistinguishable from a  
>> rigged demo." - James Klass
>>
>>
>> _______________________________________________
>>
>>
>> Gtkradiant mailing list
>> Gtkradiant at zerowing.idsoftware.com
>> http://zerowing.idsoftware.com/cgi-bin/mailman/listinfo/gtkradiant
>>
>
> _______________________________________________
> Gtkradiant mailing list
> Gtkradiant at zerowing.idsoftware.com
> http://zerowing.idsoftware.com/cgi-bin/mailman/listinfo/gtkradiant




More information about the Gtkradiant mailing list