git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1eece08
)
skip dvb-text encoding bytes on exakt title search in epgcache
author
ghost
<andreas.monzner@multimedia-labs.de>
Sat, 24 Jan 2009 23:16:31 +0000
(
00:16
+0100)
committer
ghost
<andreas.monzner@multimedia-labs.de>
Sat, 24 Jan 2009 23:16:31 +0000
(
00:16
+0100)
lib/dvb/epgcache.cpp
patch
|
blob
|
history
diff --git
a/lib/dvb/epgcache.cpp
b/lib/dvb/epgcache.cpp
index 9bb8dfc61d48d1e41fec9434260d96150ebcd9c8..d87a61e1a3485724be33a7210f48043321425f04 100644
(file)
--- a/
lib/dvb/epgcache.cpp
+++ b/
lib/dvb/epgcache.cpp
@@
-2173,18
+2173,24
@@
PyObject *eEPGCache::search(ePyObject arg)
{
if (title_len != textlen)
continue;
{
if (title_len != textlen)
continue;
+ int offs = 6;
+ // skip DVB-Text Encoding!
+ if (data[6] == 0x10)
+ offs+=2;
+ else if(data[6] > 0 && data[6] < 0x20)
+ offs+=1;
if ( casetype )
{
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;
}
}
// 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;
}
// eDebug("match2 %s %s", str, s.c_str() );
descr[++descridx] = it->first;
}