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

Branan Riley branan at gmail.com
Thu Mar 13 15:12:15 CDT 2008


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
>



More information about the Gtkradiant mailing list