diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-05-14 09:47:06 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-05-14 09:47:06 +0200 |
commit | d7053e30ac3e971e8b27d2ae16b000e60cf302e3 (patch) | |
tree | 398d359550521e656503fd31d24804321cb5152b /sdt.c | |
parent | 06e038b6fb9f2fe8882a8f5ffd9112504e3a45ad (diff) | |
download | vdr-d7053e30ac3e971e8b27d2ae16b000e60cf302e3.tar.gz vdr-d7053e30ac3e971e8b27d2ae16b000e60cf302e3.tar.bz2 |
Using '>' as separator for short channel names on cable channels
Diffstat (limited to 'sdt.c')
-rw-r--r-- | sdt.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sdt.c 1.13 2004/10/31 12:10:20 kls Exp $ + * $Id: sdt.c 1.14 2005/05/14 09:39:46 kls Exp $ */ #include "sdt.h" @@ -62,6 +62,15 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length sd->serviceName.getText(NameBuf, ShortNameBuf, sizeof(NameBuf), sizeof(ShortNameBuf)); char *pn = compactspace(NameBuf); 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, '>'); + if (p && p > pn) { + *p++ = 0; + strcpy(ShortNameBuf, p); + } + } sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf)); char *pp = compactspace(ProviderNameBuf); if (channel) { |