1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Newlines in title and short text of an EPG event are now changed into blanks only after all other fixes

This commit is contained in:
Klaus Schmidinger 2006-07-22 10:48:22 +02:00
parent e9a90f7972
commit 5f0b2fbf2e
2 changed files with 20 additions and 16 deletions

View File

@ -4816,3 +4816,5 @@ Video Disk Recorder Revision History
in case they are added after the current event. in case they are added after the current event.
- cEIT::cEIT() now calls pSchedule->SetPresentSeen() even if OnlyRunningStatus is - cEIT::cEIT() now calls pSchedule->SetPresentSeen() even if OnlyRunningStatus is
true. true.
- Newlines in title and short text of an EPG event are now changed into blanks only
after all other fixes, because a short text might become a description.

34
epg.c
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by * Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* *
* $Id: epg.c 1.76 2006/07/22 09:13:15 kls Exp $ * $Id: epg.c 1.77 2006/07/22 10:13:34 kls Exp $
*/ */
#include "epg.h" #include "epg.h"
@ -435,18 +435,6 @@ void ReportEpgBugFixStats(bool Reset)
void cEvent::FixEpgBugs(void) void cEvent::FixEpgBugs(void)
{ {
// VDR can't usefully handle newline characters in the title and shortText of EPG
// data, so let's always convert them to blanks (independent of the setting of EPGBugfixLevel):
strreplace(title, '\n', ' ');
strreplace(shortText, '\n', ' ');
// Same for control characters:
strreplace(title, '\x86', ' ');
strreplace(title, '\x87', ' ');
strreplace(shortText, '\x86', ' ');
strreplace(shortText, '\x87', ' ');
strreplace(description, '\x86', ' ');
strreplace(description, '\x87', ' ');
if (isempty(title)) { if (isempty(title)) {
// we don't want any "(null)" titles // we don't want any "(null)" titles
title = strcpyrealloc(title, tr("No title")); title = strcpyrealloc(title, tr("No title"));
@ -454,7 +442,7 @@ void cEvent::FixEpgBugs(void)
} }
if (Setup.EPGBugfixLevel == 0) if (Setup.EPGBugfixLevel == 0)
return; goto Final;
// Some TV stations apparently have their own idea about how to fill in the // Some TV stations apparently have their own idea about how to fill in the
// EPG data. Let's fix their bugs as good as we can: // EPG data. Let's fix their bugs as good as we can:
@ -528,7 +516,7 @@ void cEvent::FixEpgBugs(void)
} }
if (Setup.EPGBugfixLevel <= 1) if (Setup.EPGBugfixLevel <= 1)
return; goto Final;
// Some channels apparently try to do some formatting in the texts, // Some channels apparently try to do some formatting in the texts,
// which is a bad idea because they have no way of knowing the width // which is a bad idea because they have no way of knowing the width
@ -574,7 +562,7 @@ void cEvent::FixEpgBugs(void)
strreplace(description, '`', '\''); strreplace(description, '`', '\'');
if (Setup.EPGBugfixLevel <= 2) if (Setup.EPGBugfixLevel <= 2)
return; goto Final;
// The stream components have a "description" field which some channels // The stream components have a "description" field which some channels
// apparently have no idea of how to set correctly: // apparently have no idea of how to set correctly:
@ -638,6 +626,20 @@ void cEvent::FixEpgBugs(void)
} }
} }
} }
Final:
// VDR can't usefully handle newline characters in the title and shortText of EPG
// data, so let's always convert them to blanks (independent of the setting of EPGBugfixLevel):
strreplace(title, '\n', ' ');
strreplace(shortText, '\n', ' ');
// Same for control characters:
strreplace(title, '\x86', ' ');
strreplace(title, '\x87', ' ');
strreplace(shortText, '\x86', ' ');
strreplace(shortText, '\x87', ' ');
strreplace(description, '\x86', ' ');
strreplace(description, '\x87', ' ');
} }
// --- cSchedule ------------------------------------------------------------- // --- cSchedule -------------------------------------------------------------