From 326ccfca88dd339fea84e87649ec73706540db9d 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 --- components/bt/esp_ble_mesh/api/esp_ble_mesh_defs.h | 2 +- .../bt/esp_ble_mesh/mesh_common/include/mesh_util.h | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/components/bt/esp_ble_mesh/api/esp_ble_mesh_defs.h b/components/bt/esp_ble_mesh/api/esp_ble_mesh_defs.h index 486a3a8a8..ff80dadd3 100644 --- a/components/bt/esp_ble_mesh/api/esp_ble_mesh_defs.h +++ b/components/bt/esp_ble_mesh/api/esp_ble_mesh_defs.h @@ -440,7 +440,7 @@ struct esp_ble_mesh_model { /** Model ID */ union { const uint16_t model_id; /*!< 16-bit model identifier */ - struct esp_ble_mesh_vnd_struct { + struct { uint16_t company_id; /*!< 16-bit company identifier */ uint16_t model_id; /*!< 16-bit model identifier */ } vnd; /*!< Structure encapsulating a model ID with a company ID */ 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 8258e2c69..623a69e3e 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--; } }