X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb%2Fdvbtime.cpp;h=26b6767cf10862466e8bc2ed345bc18068341c8e;hp=a6830dc06aea6f37ee5e4c1d9cb23e1df9645f67;hb=849b33656dc710cfa5f644a55680fd396ab1d8d7;hpb=bce53d4a67d1655a496eebe5912c8573e880114e diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index a6830dc..26b6767 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 )