X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bce53d4a67d1655a496eebe5912c8573e880114e..e30f6f65d97d751e8e9a45171f7806737b4ecc41:/lib/dvb/dvbtime.cpp diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index a6830dc0..26b6767c 100644 --- a/lib/dvb/dvbtime.cpp +++ b/lib/dvb/dvbtime.cpp @@ -67,7 +67,7 @@ time_t getRTC() return rtc_time != prev_time ? rtc_time : 0; } -time_t parseDVBtime(__u8 t1, __u8 t2, __u8 t3, __u8 t4, __u8 t5) +time_t parseDVBtime(__u8 t1, __u8 t2, __u8 t3, __u8 t4, __u8 t5, __u16 *hash) { tm t; t.tm_sec=fromBCD(t5); @@ -87,6 +87,11 @@ time_t parseDVBtime(__u8 t1, __u8 t2, __u8 t3, __u8 t4, __u8 t5) t.tm_isdst = 0; t.tm_gmtoff = 0; + if (hash) { + *hash = t.tm_hour * 60 + t.tm_min; + *hash |= t.tm_mday << 11; + } + return timegm(&t); } @@ -106,7 +111,7 @@ void TDT::ready(int error) int TDT::createTable(unsigned int nr, const __u8 *data, unsigned int max) { - if ( data && data[0] == 0x70 || data[0] == 0x73 ) + if ( data && (data[0] == 0x70 || data[0] == 0x73 )) { int length = ((data[1] & 0x0F) << 8) | data[2]; if ( length >= 5 )