From 46b1608f4412db8369f2b608bd5f34e093fb1ed3 Mon Sep 17 00:00:00 2001 From: lly Date: Wed, 12 Feb 2020 21:24:32 +0800 Subject: [PATCH] ble_mesh: Fix compile error with c++ files --- .../bt/esp_ble_mesh/mesh_common/include/mesh_util.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/components/bt/esp_ble_mesh/mesh_common/include/mesh_util.h b/components/bt/esp_ble_mesh/mesh_common/include/mesh_util.h index ec92ad39a..19c0a17ad 100644 --- a/components/bt/esp_ble_mesh/mesh_common/include/mesh_util.h +++ b/components/bt/esp_ble_mesh/mesh_common/include/mesh_util.h @@ -400,14 +400,17 @@ int _compare(const uint8_t *a, const uint8_t *b, size_t size); */ static inline void sys_memcpy_swap(void *dst, const void *src, size_t length) { - __ASSERT(((src < dst && (src + length) <= dst) || - (src > dst && (dst + length) <= src)), - "Source and destination buffers must not overlap"); + u8_t *pdst = (u8_t *)dst; + const u8_t *psrc = (const u8_t *)src; - src += length - 1; + __ASSERT(((psrc < pdst && (psrc + length) <= pdst) || + (psrc > pdst && (pdst + length) <= psrc)), + "Source and destination buffers must not overlap"); + + psrc += length - 1; for (; length > 0; length--) { - *((u8_t *)dst++) = *((u8_t *)src--); + *pdst++ = *psrc--; } }