https://bugs.gentoo.org/612172 From 96bb01f5d834e0b01c0231768c43b8d309aede34 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 13 Dec 2016 18:15:48 +0000 Subject: [PATCH] * libtiff/tif_fax3.h: revert change done on 2016-01-09 that made Param member of TIFFFaxTabEnt structure a uint16 to reduce size of the binary. It happens that the Hylafax software uses the tables that follow this typedef (TIFFFaxMainTable, TIFFFaxWhiteTable, TIFFFaxBlackTable), also they are not in a public libtiff header. Raised by Lee Howard. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2636 --- ChangeLog | 10 ++++++++++ libtiff/tif_fax3.h | 6 ++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/libtiff/tif_fax3.h b/libtiff/tif_fax3.h index e0b2ca6bfc9d..45ce43f1cf2e 100644 --- a/libtiff/tif_fax3.h +++ b/libtiff/tif_fax3.h @@ -81,10 +81,12 @@ extern void _TIFFFax3fillruns(unsigned char*, uint32*, uint32*, uint32); #define S_MakeUp 11 #define S_EOL 12 +/* WARNING: do not change the layout of this structure as the Halyfax software */ +/* really depends on it. See http://bugzilla.maptools.org/show_bug.cgi?id=2636 */ typedef struct { /* state table entry */ unsigned char State; /* see above */ unsigned char Width; /* width of code in bits */ - uint16 Param; /* unsigned 16-bit run length in bits */ + uint32 Param; /* unsigned 32-bit run length in bits (holds on 16 bit actually, but cannot be changed. See above warning) */ } TIFFFaxTabEnt; extern const TIFFFaxTabEnt TIFFFaxMainTable[]; -- 2.12.0