Blob Blame History Raw
From dacc8bd0dd8b50e9d1c84c4c19aedcbb8f026bee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Tue, 24 Jan 2017 14:32:18 +0100
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

---
 libtiff/tif_fax3.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libtiff/tif_fax3.h b/libtiff/tif_fax3.h
index e0b2ca6..1715d3e 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 HylaFAX 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.7.4