libtiff/libtiff-hylafax-fix.patch
2017-01-24 14:50:09 +01:00

36 lines
1.5 KiB
Diff

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