AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2008.05.23 18:55 "[Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gene Amtower
2008.05.23 21:36 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Bob Friesenhahn
2008.05.23 23:50 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gene Amtower
2008.05.24 01:15 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Bob Friesenhahn
2008.05.24 03:05 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gene Amtower
2008.05.24 15:34 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Bob Friesenhahn
2008.05.26 17:11 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gene Amtower
2008.05.27 04:07 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Bob Friesenhahn
2008.05.28 09:50 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gerben Vos
2008.05.24 04:30 "Re: [Tiff] Unitialized Variable Caused a Problem in TIFFCP", by Gene Amtower
2008.05.26 15:47 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Edward Lam
2008.05.26 14:24 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Edward Lam
2008.05.26 15:22 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Frank Warmerdam
2008.05.26 15:31 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Bob Friesenhahn
2008.05.26 16:07 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Andrey Kiselev
2008.05.26 16:34 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Bob Friesenhahn
2008.05.26 18:02 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Edward Lam

2008.05.26 18:02 "Re: [Tiff] beta2 release - lfind() problem on Win64", by Edward Lam

Hi Andrey,

Speaking of the port/ code, we use this on our project for strcasecmp():

#ifdef WIN32

     #define strcasecmp(ST1,ST2) stricmp((ST1),(ST2))
     #define strncasecmp(ST1,ST2,N) strnicmp((ST1),(ST2),(N))

#endif

Cheers,

-Edward

On Mon, May 26, 2008 at 10:31:36AM -0500, Bob Friesenhahn wrote:

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.

We have such a code (see port/ directory) and it was used on Windows platform until I discovered that lfind is hidden under _lfind name there. So we can just continue using our implementation.

Other option is to use _lfind_s() function which is advertised as a "safe" replacement to the old one, but then we will need to modify comparison functions declarations too, because _lfind_s passes extra parameter down there. The first way is simpler, of course.

Best regards,
Andrey

PS.

OFF: do they seriously thinking that their "safe" functions really help people?