Dmitry Timoshkov dmitry@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.