diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2009-01-26 17:09:24 +0100 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2009-01-26 17:09:24 +0100 |
| commit | 925629a36b521924a774da09b4f11515dd1889b3 (patch) | |
| tree | 786979b461430c6ba58f19b77b59f0bc863dc40a /lib/dvb/epgcache.cpp | |
| parent | 7647e42f245ae741abd45fed11f416613e103e15 (diff) | |
| parent | ceef4c054c5482ae32f1e61b367621f2f5ac2c97 (diff) | |
| download | enigma2-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.cpp | 20 |
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; } |
