diff options
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | sdt.c | 11 |
3 files changed, 10 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index d43a2192..3d78a785 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1214,6 +1214,7 @@ Marco Schlüßler <marco@lordzodiac.de> is waiting for improving resetting CAM connections for fixing handling EPG data for time shifted events + for fixing detecting short channel names for "Kabel Deutschland" Jürgen Schmitz <j.schmitz@web.de> for reporting a bug in displaying the current channel when switching via the SVDRP @@ -3732,3 +3732,5 @@ Video Disk Recorder Revision History report that lead to this). - Removed the TUNER_LOCK_TIMEOUT in cDevice::AttachReceiver() since it caused more trouble than it fixed. +- Fixed detecting short channel names for "Kabel Deutschland", who uses a comma + as delimiter (thanks to Marco Schlüßler). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sdt.c 1.14 2005/05/14 09:39:46 kls Exp $ + * $Id: sdt.c 1.15 2005/08/27 09:27:47 kls Exp $ */ #include "sdt.h" @@ -64,11 +64,14 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length char *ps = compactspace(ShortNameBuf); if (!*ps && cSource::IsCable(Source())) { // Some cable providers don't mark short channel names according to the - // standard, but rather go their own way and use "name>short name": - char *p = strchr(pn, '>'); + // standard, but rather go their own way and use "name>short name" or + // "name, short name": + char *p = strchr(pn, '>'); // fix for UPC Wien + if (!p) + p = strchr(pn, ','); // fix for "Kabel Deutschland" if (p && p > pn) { *p++ = 0; - strcpy(ShortNameBuf, p); + strcpy(ShortNameBuf, skipspace(p)); } } sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf)); |