Преглед изворни кода

Merge branch 'bugfix/ble_mesh_fix_compile_error_with_cpp_3.3' into 'release/v3.3'

ble_mesh: Fix compile error with c++ files (v3.3)

See merge request espressif/esp-idf!7585
Jiang Jiang Jian пре 6 година
родитељ
комит
a4bbcbcf98
1 измењених фајлова са 8 додато и 5 уклоњено
  1. 8 5
      components/bt/esp_ble_mesh/mesh_common/include/mesh_util.h

+ 8 - 5
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)
 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--) {
     for (; length > 0; length--) {
-        *((u8_t *)dst++) = *((u8_t *)src--);
+        *pdst++ = *psrc--;
     }
     }
 }
 }