fix warning
[enigma2.git] / lib / dvb / epgcache.cpp
index 6c950279837f0c1840a0fb33de9cc02d85e25f0b..10ca29fb84b0e9de611b9300c302a1acf27e79f4 100644 (file)
@@ -704,12 +704,13 @@ void eEPGCache::load()
        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");
@@ -724,9 +725,17 @@ void eEPGCache::load()
                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--)
@@ -822,7 +831,9 @@ void eEPGCache::save()
        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 );
@@ -1882,9 +1893,9 @@ void eEPGCache::channel_data::readPrivateData( const __u8 *data)
                eDebug("get Null pointer from section reader !!");
        else
        {
-#ifdef NEED_DEMUX_WORKAROUND
                if ( seenPrivateSections.find( data[6] ) == seenPrivateSections.end() )
                {
+#ifdef NEED_DEMUX_WORKAROUND
                        int version = data[5];
                        version = ((version & 0x3E) >> 1);
                        can_delete = 0;