use recordings.epl as backup if existing. only first part will be played, though.
[enigma2.git] / lib / dvb / epgcache.cpp
index 10ca29fb84b0e9de611b9300c302a1acf27e79f4..0af14c6b9c7e2c8586592ff3942f06b84a08f007 100644 (file)
@@ -701,6 +701,7 @@ void eEPGCache::thread()
 
 void eEPGCache::load()
 {
+       singleLock s(cache_lock);
        FILE *f = fopen("/hdd/epg.dat", "r");
        if (f)
        {
@@ -1541,7 +1542,7 @@ PyObject *eEPGCache::lookupEvent(PyObject *list, PyObject *convertFunc)
                                                if (!PyString_Check(entry))
                                                {
                                                        eDebug("tuple entry 0 is no a string");
-                                                       continue;
+                                                       goto skip_entry;
                                                }
                                                service = entry;
                                                break;
@@ -1551,7 +1552,7 @@ PyObject *eEPGCache::lookupEvent(PyObject *list, PyObject *convertFunc)
                                                if (type < -1 || type > 2)
                                                {
                                                        eDebug("unknown type %d", type);
-                                                       continue;
+                                                       goto skip_entry;
                                                }
                                                break;
                                        case 2:
@@ -1623,6 +1624,8 @@ PyObject *eEPGCache::lookupEvent(PyObject *list, PyObject *convertFunc)
                        if (service_name)
                                Py_DECREF(service_name);
                }
+skip_entry:
+               ;
        }
        if (convertFuncArgs)
                Py_DECREF(convertFuncArgs);