2008.05.23 18:55 "[Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gene Amtower

2008.05.26 15:31 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Bob Friesenhahn

In trying to compile libtiff 4.0 beta 2 on Win64 with MSVC 8, I've

> encountered the following warning which I think needs fixing:

>

> tif_dirinfo.c(508): warning C4133: 'function': incompatible types - from

'size_t *' to 'unsigned int *'

The problem is that the call to lfind() on Win64 is redirected to

_lfind()

> from search.h. For its 3rd argument, it hasn't been updated to size_t * > (pointer to 64-bits) and still uses unsigned int * (pointer to 32-bits). I'm

This is just awful. Why did Microsoft do that?

The recent libtiff updates in this area were necessary so that libtiff works properly in 64-bit applications. This is supposed to be the prototype for lfind:

      void *lfind(const void *key, const void *base, size_t *nelp,

      size_t width, int (*compar)(const void *, const void *));

It seems that the only cure is to add Windows specific code to handle this specific case.

Bob
======================================
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/