Dmitry Timoshkov <dmi...@baikal.ru> writes: > @@ -208,9 +233,22 @@ static TIFF* tiff_open_stream(IStream *stream, const > char *mode) > zero.QuadPart = 0; > IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); > > + /* Workaround for broken libtiff 4.x headers on some 64-bit hosts which > + * define TIFF_UINT64_T/toff_t as 32-bit for 32-bit builds, while they > + * are supposed to be always 64-bit. > + * TIFF_UINT64_T doesn't exist in libtiff 3.x, it was introduced in 4.x. > + */ > +#ifdef TIFF_UINT64_T > + /* libtiff 4.x */ > + return pTIFFClientOpen("<IStream object>", mode, stream, > tiff_stream_read, > + tiff_stream_write, (void *)tiff_stream_seek, tiff_stream_close, > + (void *)tiff_stream_size, (void *)tiff_stream_map, (void > *)tiff_stream_unmap); > +#else > + /* libtiff 3.x */ > return pTIFFClientOpen("<IStream object>", mode, stream, > tiff_stream_read, > - tiff_stream_write, tiff_stream_seek, tiff_stream_close, > - tiff_stream_size, tiff_stream_map, tiff_stream_unmap); > + tiff_stream_write, tiff_stream_seek_v3, tiff_stream_close, > + tiff_stream_size_v3, tiff_stream_map_v3, tiff_stream_unmap_v3); > +#endif
Now that you are using ifdefs there's no reason to have two sets of functions. -- Alexandre Julliard julli...@winehq.org