diff --git a/sys/net/ccn_lite/ccnl-core.c b/sys/net/ccn_lite/ccnl-core.c index add04a75573f1ee53f352e382c0de76a3e66ef57..6f78b298f8a5f1d85aa691209f49f3551629f423 100644 --- a/sys/net/ccn_lite/ccnl-core.c +++ b/sys/net/ccn_lite/ccnl-core.c @@ -1143,9 +1143,12 @@ ccnl_forward_remove(struct ccnl_relay_s *ccnl, struct ccnl_forward_s *fwd) return fwd2; } -bool ccnl_is_timeouted(struct timeval *now, struct timeval *last_used, time_t timeout_s, time_t timeout_us) +bool ccnl_is_timeouted(struct timeval *now, struct timeval *last_used, uint32_t timeout_s, uint32_t timeout_us) { - struct timeval abs_timeout = { last_used->tv_sec + timeout_s, last_used->tv_usec + timeout_us }; + + timex_t time = timex_set(timeout_s, timeout_us); + timex_normalize(&time); + struct timeval abs_timeout = { last_used->tv_sec + time.seconds, last_used->tv_usec + time.microseconds }; return timevaldelta(now, &abs_timeout) > 0; }