void eEPGCache::load()
{
+ singleLock s(cache_lock);
FILE *f = fopen("/hdd/epg.dat", "r");
if (f)
{
- unsigned char md5_saved[16];
- unsigned char md5[16];
int size=0;
int cnt=0;
- bool md5ok=false;
#if 0
+ unsigned char md5_saved[16];
+ unsigned char md5[16];
+ bool md5ok=false;
+
if (!md5_file("/hdd/epg.dat", 1, md5))
{
FILE *f = fopen("/hdd/epg.dat.md5", "r");
if ( md5ok )
#endif
{
+ unsigned int magic=0;
+ fread( &magic, sizeof(int), 1, f);
+ if (magic != 0x98765432)
+ {
+ eDebug("epg file has incorrect byte order.. dont read it");
+ fclose(f);
+ return;
+ }
char text1[13];
fread( text1, 13, 1, f);
- if ( !strncmp( text1, "ENIGMA_EPG_V4", 13) )
+ if ( !strncmp( text1, "ENIGMA_EPG_V5", 13) )
{
fread( &size, sizeof(int), 1, f);
while(size--)
int cnt=0;
if ( f )
{
- const char *text = "ENIGMA_EPG_V4";
+ unsigned int magic = 0x98765432;
+ fwrite( &magic, sizeof(int), 1, f);
+ const char *text = "ENIGMA_EPG_V5";
fwrite( text, 13, 1, f );
int size = eventDB.size();
fwrite( &size, sizeof(int), 1, f );
if (!PyString_Check(entry))
{
eDebug("tuple entry 0 is no a string");
- continue;
+ goto skip_entry;
}
service = entry;
break;
if (type < -1 || type > 2)
{
eDebug("unknown type %d", type);
- continue;
+ goto skip_entry;
}
break;
case 2:
if (service_name)
Py_DECREF(service_name);
}
+skip_entry:
+ ;
}
if (convertFuncArgs)
Py_DECREF(convertFuncArgs);