From 46c8afe4430042b0b791df0ba5297af0798472a6 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 1 Apr 2002 13:01:27 +0200 Subject: [PATCH] Fixed a bug in the EPG bugfix mechanism if the extended description is shorter than 3 characters --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ eit.c | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4083bd43..6a126c9f 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -130,6 +130,8 @@ Andreas Schultz dvdplayer-0.5 by Matjaz Thaler ) for adding PTS to the converted PCM audio when replaying a DVD for fixing a crash in case there is no 'epg.data' at program start + for fixing a bug in the EPG bugfix mechanism if the extended description is shorter + than 3 characters Aaron Holtzman for writing 'ac3dec' diff --git a/HISTORY b/HISTORY index 8f2de446..03d1605a 100644 --- a/HISTORY +++ b/HISTORY @@ -1168,3 +1168,5 @@ Video Disk Recorder Revision History - Changed the default 'Ok' key when using the PC keyboard from '5' (in the numeric block) to 'Enter', because the '5' key didn't work on keyboards with the F-keys on top. +- Fixed a bug in the EPG bugfix mechanism if the extended description is shorter + than 3 characters (thanks to Andreas Schultz). diff --git a/eit.c b/eit.c index 011000b7..4fc749bf 100644 --- a/eit.c +++ b/eit.c @@ -16,7 +16,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: eit.c 1.41 2002/03/17 14:23:41 kls Exp $ + * $Id: eit.c 1.42 2002/04/01 12:58:20 kls Exp $ ***************************************************************************/ #include "eit.h" @@ -560,8 +560,8 @@ void cEventInfo::FixEpgBugs(void) pExtendedDescription = compactspace(pExtendedDescription); // Remove superfluous hyphens: if (pExtendedDescription) { - char *p = pExtendedDescription + 1; - while (*p) { + char *p = pExtendedDescription; + while (*p && *(p + 1) && *(p + 2)) { if (*p == '-' && *(p + 1) == ' ' && *(p + 2) && islower(*(p - 1)) && islower(*(p + 2))) { if (!startswith(p + 2, "und ")) { // special case in German, as in "Lach- und Sachgeschichten" memmove(p, p + 2, strlen(p + 2) + 1);