diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b381411a..3dcf6745 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2801,3 +2801,7 @@ Chris Mayo Dominic Evans for making the SVDRP command LSTC accepts channel IDs for adding cap_net_raw to the capabilities that are not dropped + +Torsten Lang + for reporting a problem with newline characters in stream component descriptions + of EPG data from BSkyB's "MTV MUSIC" diff --git a/HISTORY b/HISTORY index 2108f02d..353662cd 100644 --- a/HISTORY +++ b/HISTORY @@ -6803,3 +6803,6 @@ Video Disk Recorder Revision History - Updated the Hungarian language texts (thanks to István Füley). - cDvbTuner::ExecuteDiseqc() now makes sure only one tuner sends SCR commands at any given time (reported by Frank Neumann). +- cEvent::FixEpgBugs() now replaces any newline characters in stream component + descriptions with blanks (thanks to Torsten Lang for reporting a problem with + EPG data from BSkyB's "MTV MUSIC", S28.2E-2-2010-7012). diff --git a/epg.c b/epg.c index c2d1783d..e1e317d5 100644 --- a/epg.c +++ b/epg.c @@ -7,7 +7,7 @@ * Original version (as used in VDR before 1.3.0) written by * Robert Schneider and Rolf Hakenes . * - * $Id: epg.c 2.7 2011/02/25 15:16:05 kls Exp $ + * $Id: epg.c 2.8 2012/01/08 14:59:38 kls Exp $ */ #include "epg.h" @@ -828,10 +828,17 @@ void cEvent::FixEpgBugs(void) Final: - // VDR can't usefully handle newline characters in the title and shortText of EPG + // VDR can't usefully handle newline characters in the title, shortText or component description of EPG // data, so let's always convert them to blanks (independent of the setting of EPGBugfixLevel): strreplace(title, '\n', ' '); strreplace(shortText, '\n', ' '); + if (components) { + for (int i = 0; i < components->NumComponents(); i++) { + tComponent *p = components->Component(i); + if (p->description) + strreplace(p->description, '\n', ' '); + } + } /* TODO adapt to UTF-8 // Same for control characters: strreplace(title, '\x86', ' ');