Commit 58c64aea authored by ramil@mysql.com's avatar ramil@mysql.com

memcpy_overlap() removed, as

  1. it's wrong to use memcpy() for overlapped areas;
  2. we use it only once.
During merge to 4.1 will remove a memcpy_overlap() call 
from strings/ctype-tis620.c as well in order to fix 
bug #10836: ctype_tis620 test failure with ICC-compiled binaries on IA64.
parent 16b0bc39
...@@ -119,16 +119,6 @@ extern void bmove_allign(gptr dst,const gptr src,uint len); ...@@ -119,16 +119,6 @@ extern void bmove_allign(gptr dst,const gptr src,uint len);
#define bmove512(A,B,C) memcpy(A,B,C) #define bmove512(A,B,C) memcpy(A,B,C)
#endif #endif
#ifdef HAVE_purify
#include <assert.h>
#define memcpy_overlap(A,B,C) \
DBUG_ASSERT((A) <= (B) || ((B)+(C)) <= (A)); \
bmove((byte*) key,(byte*) from,(size_t) length);
#else
#define memcpy_overlap(A,B,C) memcpy((A), (B), (C))
#endif /* HAVE_purify */
/* Prototypes for string functions */ /* Prototypes for string functions */
#if !defined(bfill) && !defined(HAVE_BFILL) #if !defined(bfill) && !defined(HAVE_BFILL)
......
...@@ -1306,7 +1306,7 @@ uint _mi_get_binary_pack_key(register MI_KEYDEF *keyinfo, uint nod_flag, ...@@ -1306,7 +1306,7 @@ uint _mi_get_binary_pack_key(register MI_KEYDEF *keyinfo, uint nod_flag,
} }
DBUG_PRINT("info",("key: %p from: %p length: %u", DBUG_PRINT("info",("key: %p from: %p length: %u",
key, from, length)); key, from, length));
memcpy_overlap((byte*) key, (byte*) from, (size_t) length); memmove((byte*) key, (byte*) from, (size_t) length);
key+=length; key+=length;
from+=length; from+=length;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment