From 0c36205f74fcff689ed43777aa902866a385f1fd Mon Sep 17 00:00:00 2001 From: dave-p Date: Fri, 15 Mar 2019 09:33:19 +0000 Subject: [PATCH] Freesat_huffman: Suppress characters < 0x20 except \n. Bug #5366 reported control codes appearing in EPG data on UK Freeview; this was fixed in commit 3ae6d947a4d074b3498e59f82d5a860273b0ae7f. However the same issue affects DVB-T2 channels where the EPG is Huffman coded. freesat_huffman.c already has code to suppress these control codes, however the decoding is stopped when one is encountered and so the text is truncated. This patch drops the control codes but continues to decode the remaining text. --- src/epggrab/support/freesat_huffman.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/epggrab/support/freesat_huffman.c b/src/epggrab/support/freesat_huffman.c index f6cb09245..dd0e5c3a3 100644 --- a/src/epggrab/support/freesat_huffman.c +++ b/src/epggrab/support/freesat_huffman.c @@ -5808,9 +5808,9 @@ size_t freesat_huffman_decode nextCh = (value >> 24) & 0xff; bitShift = 8; if ((nextCh & 0x80) == 0) { - if (nextCh < ' ') - nextCh = STOP; lastch = nextCh; + if ((nextCh < 0x20) && (nextCh != '\n')) + nextCh = ESCAPE; } } else { indx = (unsigned int) lastch; -- 2.47.2