summaryrefslogtreecommitdiff
path: root/cesar/host/netclock
diff options
context:
space:
mode:
authordufour2009-01-09 16:41:09 +0000
committerdufour2009-01-09 16:41:09 +0000
commitd4d82d416de75ab57de22d021a638d1c8155b7bb (patch)
tree9c3b6fd3b3134226c915f00eed2658075ecd491f /cesar/host/netclock
parent060834760ddea45c3546c09093c5796a719d0f90 (diff)
* host/netclock (see #232 & [3740]):
- fix comparison function between 32 and 64 bits dates. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3748 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/host/netclock')
-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;
}