summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <ramil@mysql.com>2005-10-12 18:50:25 +0500
committerunknown <ramil@mysql.com>2005-10-12 18:50:25 +0500
commit6c89848de9f3bedf0a1d5e6721f9c88959a9f9b4 (patch)
tree56b760f4a61f7e099eb52b50576b6e0fec2da8a6
parente032994ea87224310157facb35396a2e80460628 (diff)
downloadmariadb-git-6c89848de9f3bedf0a1d5e6721f9c88959a9f9b4.tar.gz
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. myisam/mi_search.c: use memmove() instead, as memcpy_overlap() is removed.
-rw-r--r--include/m_string.h10
-rw-r--r--myisam/mi_search.c2
2 files changed, 1 insertions, 11 deletions
diff --git a/include/m_string.h b/include/m_string.h
index 419e70d93bf..f081c966fac 100644
--- a/include/m_string.h
+++ b/include/m_string.h
@@ -119,16 +119,6 @@ extern void bmove_allign(gptr dst,const gptr src,uint len);
#define bmove512(A,B,C) memcpy(A,B,C)
#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 */
#if !defined(bfill) && !defined(HAVE_BFILL)
diff --git a/myisam/mi_search.c b/myisam/mi_search.c
index c0be1a427df..3d16a70d70b 100644
--- a/myisam/mi_search.c
+++ b/myisam/mi_search.c
@@ -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",
key, from, length));
- memcpy_overlap((byte*) key, (byte*) from, (size_t) length);
+ memmove((byte*) key, (byte*) from, (size_t) length);
key+=length;
from+=length;
}