diff -uNbw vdr-1.5.14/epg.c vdr-1.5.14-fix-PPV-title/epg.c --- vdr-1.5.14/epg.c 2007-06-10 08:52:19.000000000 -0400 +++ vdr-1.5.14-fix-PPV-title/epg.c 2008-01-28 21:33:28.000000000 -0500 @@ -519,13 +519,47 @@ if (Setup.EPGBugfixLevel <= 1) goto Final; +// printf("EPG Bugfix\n"); + // Replace annoying strings in event description. + strreplace(title, "(All Day)", " "); + strreplace(title, "(RC)", " "); + strreplace(title, "(� volont�!)", " "); + strreplace(title, "Family:", " "); + + description = compactspace(description); + + if (strstr(title, "(All Day, DD)")) { + strreplace(title, "(All Day, DD)", " "); + description = (char *)realloc(description, strlen(description) + 6); + strcat(description, " (DD)"); + } + if (strstr(title, "(All Day, DD, LBX)")) { + strreplace(title, "(All Day, DD, LBX)", " "); + description = (char *)realloc(description, strlen(description) + 12); + strcat(description, " (DD) (LBX)"); + } + if (strstr(title, "(All Day, LBX)")) { + strreplace(title, "(All Day, LBX)", " "); + description = (char *)realloc(description, strlen(description) + 7); + strcat(description, " (LBX)"); + } + if (strstr(title, "(Widescreen)")) { + strreplace(title, "(Widescreen)", " "); + description = (char *)realloc(description, strlen(description) + 14); + strcat(description, " (Widescreen)"); + } + if (strstr(title, "(5.1)")) { + strreplace(title, "(5.1)", " "); + description = (char *)realloc(description, strlen(description) + 7); + strcat(description, " (5.1)"); + } + // 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 // of the window that will actually display the text. // Remove excess whitespace: title = compactspace(title); shortText = compactspace(shortText); - description = compactspace(description); #define MAX_USEFUL_EPISODE_LENGTH 40 // Some channels put a whole lot of information in the ShortText and leave