From: dave-p Date: Fri, 15 Mar 2019 09:33:19 +0000 (+0000) Subject: Freesat_huffman: Suppress characters < 0x20 except \n. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1383eab65a93763b8780e5011d592d9f249031b6;p=thirdparty%2Ftvheadend.git 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. --- diff --git a/src/epggrab/support/freesat_huffman.c b/src/epggrab/support/freesat_huffman.c index 07c2d007f..827a36602 100644 --- a/src/epggrab/support/freesat_huffman.c +++ b/src/epggrab/support/freesat_huffman.c @@ -5800,9 +5800,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;