aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/epgcache.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-01-26 17:09:24 +0100
committerFelix Domke <tmbinc@elitedvb.net>2009-01-26 17:09:24 +0100
commit925629a36b521924a774da09b4f11515dd1889b3 (patch)
tree786979b461430c6ba58f19b77b59f0bc863dc40a /lib/dvb/epgcache.cpp
parent7647e42f245ae741abd45fed11f416613e103e15 (diff)
parentceef4c054c5482ae32f1e61b367621f2f5ac2c97 (diff)
downloadenigma2-925629a36b521924a774da09b4f11515dd1889b3.tar.gz
enigma2-925629a36b521924a774da09b4f11515dd1889b3.zip
Merge branch 'master' of /home/tmbinc/enigma2-git
Diffstat (limited to 'lib/dvb/epgcache.cpp')
-rw-r--r--lib/dvb/epgcache.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp
index 9bb8dfc6..a8eca85b 100644
--- a/lib/dvb/epgcache.cpp
+++ b/lib/dvb/epgcache.cpp
@@ -2171,20 +2171,32 @@ PyObject *eEPGCache::search(ePyObject arg)
int title_len = data[5];
if ( querytype == 1 )
{
+ int offs = 6;
+ // skip DVB-Text Encoding!
+ if (data[6] == 0x10)
+ {
+ offs+=3;
+ title_len-=3;
+ }
+ else if(data[6] > 0 && data[6] < 0x20)
+ {
+ offs+=1;
+ title_len-=1;
+ }
if (title_len != textlen)
continue;
if ( casetype )
{
- if ( !strncasecmp((const char*)data+6, str, title_len) )
+ if ( !strncasecmp((const char*)data+offs, str, title_len) )
{
-// std::string s((const char*)data+6, title_len);
+// std::string s((const char*)data+offs, title_len);
// eDebug("match1 %s %s", str, s.c_str() );
descr[++descridx] = it->first;
}
}
- else if ( !strncmp((const char*)data+6, str, title_len) )
+ else if ( !strncmp((const char*)data+offs, str, title_len) )
{
-// std::string s((const char*)data+6, title_len);
+// std::string s((const char*)data+offs, title_len);
// eDebug("match2 %s %s", str, s.c_str() );
descr[++descridx] = it->first;
}