ble_mesh: Fix compile error with c++ files

This commit is contained in:
lly 2020-02-12 21:24:32 +08:00
parent 0dec21cfda
commit 46b1608f44

View file

@ -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--;
}
}