git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git.opendreambox.org:/git/enigma2
[enigma2.git]
/
lib
/
dvb
/
epgcache.cpp
diff --git
a/lib/dvb/epgcache.cpp
b/lib/dvb/epgcache.cpp
index d87a61e1a3485724be33a7210f48043321425f04..fdcbe0e9faf2cb835db04288f6ae2e0b850ce6fb 100644
(file)
--- a/
lib/dvb/epgcache.cpp
+++ b/
lib/dvb/epgcache.cpp
@@
-2058,7
+2058,11
@@
PyObject *eEPGCache::search(ePyObject arg)
ePyObject obj = PyTuple_GET_ITEM(arg,0);
if (PyString_Check(obj))
{
ePyObject obj = PyTuple_GET_ITEM(arg,0);
if (PyString_Check(obj))
{
+#if PY_VERSION_HEX < 0x02060000
argcount = PyString_GET_SIZE(obj);
argcount = PyString_GET_SIZE(obj);
+#else
+ argcount = PyString_Size(obj);
+#endif
argstring = PyString_AS_STRING(obj);
for (int i=0; i < argcount; ++i)
switch(argstring[i])
argstring = PyString_AS_STRING(obj);
for (int i=0; i < argcount; ++i)
switch(argstring[i])
@@
-2156,7
+2160,11
@@
PyObject *eEPGCache::search(ePyObject arg)
{
int casetype = PyLong_AsLong(PyTuple_GET_ITEM(arg, 4));
const char *str = PyString_AS_STRING(obj);
{
int casetype = PyLong_AsLong(PyTuple_GET_ITEM(arg, 4));
const char *str = PyString_AS_STRING(obj);
+#if PY_VERSION_HEX < 0x02060000
int textlen = PyString_GET_SIZE(obj);
int textlen = PyString_GET_SIZE(obj);
+#else
+ int textlen = PyString_Size(obj);
+#endif
if (querytype == 1)
eDebug("lookup for events with '%s' as title(%s)", str, casetype?"ignore case":"case sensitive");
else
if (querytype == 1)
eDebug("lookup for events with '%s' as title(%s)", str, casetype?"ignore case":"case sensitive");
else
@@
-2171,14
+2179,20
@@
PyObject *eEPGCache::search(ePyObject arg)
int title_len = data[5];
if ( querytype == 1 )
{
int title_len = data[5];
if ( querytype == 1 )
{
- if (title_len != textlen)
- continue;
int offs = 6;
// skip DVB-Text Encoding!
if (data[6] == 0x10)
int offs = 6;
// skip DVB-Text Encoding!
if (data[6] == 0x10)
- offs+=2;
+ {
+ offs+=3;
+ title_len-=3;
+ }
else if(data[6] > 0 && data[6] < 0x20)
else if(data[6] > 0 && data[6] < 0x20)
+ {
offs+=1;
offs+=1;
+ title_len-=1;
+ }
+ if (title_len != textlen)
+ continue;
if ( casetype )
{
if ( !strncasecmp((const char*)data+offs, str, title_len) )
if ( casetype )
{
if ( !strncasecmp((const char*)data+offs, str, title_len) )