From f36e82c0fb0ab41f6e2684a42c84b29f78d876d9 Mon Sep 17 00:00:00 2001 From: Georgi Chorbadzhiyski Date: Thu, 22 Sep 2011 23:50:35 +0300 Subject: [PATCH] dvb/si/tdt: Fix tdt_get_utc() function. Due to missing casts the function is not returning correctly the top 8 bits (32-40) of UTC_time field. --- dvb/si/tdt.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dvb/si/tdt.h b/dvb/si/tdt.h index b503a6c..8ee8f8d 100644 --- a/dvb/si/tdt.h +++ b/dvb/si/tdt.h @@ -66,8 +66,8 @@ static inline void tdt_set_utc(uint8_t *p_tdt, uint64_t i_utc) static inline uint64_t tdt_get_utc(const uint8_t *p_tdt) { - return ((uint64_t)p_tdt[3] << 32) | (p_tdt[4] << 24) | (p_tdt[5] << 16) - | (p_tdt[6] << 8) | p_tdt[7]; + return (uint64_t)(((uint64_t)p_tdt[3] << 32) | ((uint64_t)p_tdt[4] << 24) | + ((uint64_t)p_tdt[5] << 16) | ((uint64_t)p_tdt[6] << 8) | p_tdt[7]); } static inline bool tdt_validate(const uint8_t *p_tdt)