From cf1be4ae2d2b80b87df9b1e199e60e301ce6d1c5 Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Thu, 13 Oct 2011 19:29:48 +0200 Subject: [PATCH] fixed bug #34541: LWIP_U32_DIFF is unnecessarily complex: removed that define --- CHANGELOG | 3 +++ src/core/timers.c | 2 +- src/include/lwip/def.h | 4 ---- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e2fe0a23..0f2bc6e5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -69,6 +69,9 @@ HISTORY ++ Bugfixes: + 2011-10-13: Simon Goldschmidt + * def.h, timers.c: fixed bug #34541: LWIP_U32_DIFF is unnecessarily complex + 2011-10-13: Simon Goldschmidt * sockets.c, api_lib.c: fixed bug #34540: compiler error when CORE_LOCKING is used and not all protocols are enabled diff --git a/src/core/timers.c b/src/core/timers.c index 5ae6d0c4..c8ead4e7 100644 --- a/src/core/timers.c +++ b/src/core/timers.c @@ -426,7 +426,7 @@ sys_check_timeouts(void) now = sys_now(); /* this cares for wraparounds */ - diff = LWIP_U32_DIFF(now, timeouts_last_time); + diff = now - timeouts_last_time; do { #if PBUF_POOL_FREE_OOSEQ diff --git a/src/include/lwip/def.h b/src/include/lwip/def.h index 9b6de6a8..73a1b560 100644 --- a/src/include/lwip/def.h +++ b/src/include/lwip/def.h @@ -47,10 +47,6 @@ extern "C" { #define NULL ((void *)0) #endif -/** Get the absolute difference between 2 u32_t values (correcting overflows) - * 'a' is expected to be 'higher' (without overflow) than 'b'. */ -#define LWIP_U32_DIFF(a, b) (((a) >= (b)) ? ((a) - (b)) : (((a) + ((b) ^ 0xFFFFFFFF) + 1))) - /* Endianess-optimized shifting of two u8_t to create one u16_t */ #if BYTE_ORDER == LITTLE_ENDIAN #define LWIP_MAKE_U16(a, b) ((a << 8) | b)