2005.12.12 22:19 "[Tiff] Writing EXIF data?", by Paul J. Lucas

2006.01.04 13:23 "Re: [Tiff] Outrageous profile tag sizes reported by libtiff 3.8.0", by Andrey Kiselev

On Mon, Jan 02, 2006 at 08:31:28PM -0600, Bob Friesenhahn wrote:

A bit of testing shows that previously the third parameter of TIFFGetField() was of type uint32 when retrieving TIFFTAG_ICCPROFILE, TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET, but in 3.8.0 the size is a uint16. Unfortunately this interface is not fully defined by a header file since it is based on a variable argument list. Libtiff 3.8.0 is *not* binary compatible with previous releases.

For such a small change, I would vote for reverting it rather than introducing a binary incompatibility. Library ABI changes are a big

I think that this qualifies as a "bug" due to rewriting the supportive code. It was not an intentional ABI change.

I have changed these definitions, so it should work as in previous versions now. The new tif_dirinfo.c file can be either taken from CVS or from the 3.8.0 release with the following patch:

Index: tif_dirinfo.c

=================================================================== RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_dirinfo.c,v retrieving revision 1.60

retrieving revision 1.61
diff -u -1 -b -p -u -r1.60 -r1.61

--- tif_dirinfo.c       26 Dec 2005 14:31:25 -0000      1.60
+++ tif_dirinfo.c       4 Jan 2006 13:22:09 -0000       1.61

@@ -1,2 +1,2 @@

-/* $Id: tif_dirinfo.c,v 1.60 2005/12/26 14:31:25 dron Exp $ */
+/* $Id: tif_dirinfo.c,v 1.61 2006/01/04 13:22:09 dron Exp $ */

@@ -223,3 +223,3 @@ tiffFieldInfo[] = {

       1,       0,      "ReferenceBlackWhite" },

-    { TIFFTAG_XMLPACKET,       -1,-3,  TIFF_BYTE,      FIELD_CUSTOM,
+    { TIFFTAG_XMLPACKET,       -3,-3,  TIFF_BYTE,      FIELD_CUSTOM,

       0,       1,      "XMLPacket" },

@@ -257,5 +257,5 @@ tiffFieldInfo[] = {
 /* end Pixar tags */

-    { TIFFTAG_RICHTIFFIPTC, -1, -3,    TIFF_LONG,      FIELD_CUSTOM, 
+    { TIFFTAG_RICHTIFFIPTC, -3, -3,    TIFF_LONG,      FIELD_CUSTOM, 
       0,    1,   "RichTIFFIPTC" },
-    { TIFFTAG_PHOTOSHOP,    -1, -3,    TIFF_BYTE,      FIELD_CUSTOM, 
+    { TIFFTAG_PHOTOSHOP,    -3, -3,    TIFF_BYTE,      FIELD_CUSTOM, 

       0,    1,   "Photoshop" },

@@ -263,3 +263,3 @@ tiffFieldInfo[] = {
       0,       0,      "EXIFIFDOffset" },

-    { TIFFTAG_ICCPROFILE,      -1, -3, TIFF_UNDEFINED, FIELD_CUSTOM,
+    { TIFFTAG_ICCPROFILE,      -3, -3, TIFF_UNDEFINED, FIELD_CUSTOM,

       0,       1,      "ICC Profile" },

Reagrds,

Andrey

--
Andrey V. Kiselev
ICQ# 26871517