summaryrefslogtreecommitdiff
path: root/cesar
diff options
context:
space:
mode:
Diffstat (limited to 'cesar')
-rw-r--r--cesar/host/netclock/src/netclock.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/cesar/host/netclock/src/netclock.c b/cesar/host/netclock/src/netclock.c
index 5163a401fb..2c52900b3a 100644
--- a/cesar/host/netclock/src/netclock.c
+++ b/cesar/host/netclock/src/netclock.c
@@ -362,10 +362,11 @@ void netclock_hdr_dump(netclock_msg_hdr_t *hdr, int fd, char *buffer, int size)
u64
netclock_date_32_to_64 (u32 date_32, u64 date_64)
{
+ u64 ret = date_32 + (date_64 & 0xFFFFFFFF00000000ull);
/* Check date_32 has overflown (by adding half of a 32 bits integer). */
- if ((date_32 + (1ull << 31)) < date_64)
+ if ((date_32 + (1ull << 31)) < (date_64 & 0x00000000FFFFFFFFull))
/* Convert and return it. */
- return date_32 + (1ull << 32);
- /* No overflow, just return the 32 bits date. */
- return date_32;
+ return ret + (1ull << 32);
+ /* No overflow. */
+ return ret;
}