Dmitry Timoshkov <dmitry(a)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
julliard(a)winehq.org