diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/m_string.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/m_string.h b/include/m_string.h index c6943613b1a..eae0e8f3f94 100644 --- a/include/m_string.h +++ b/include/m_string.h @@ -119,6 +119,18 @@ 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) || ((A)+(C)) <= (B) || ((B)+(C)) <= (A)); \ +bmove((byte*) key,(byte*) from,(size_t) length); +#else +#define memcpy_overlap(A,B,C) \ +DBUG_ASSERT((A) == (B) || ((A)+(C)) <= (B) || ((B)+(C)) <= (A)); \ +memcpy((A), (B), (C)) +#endif /* HAVE_purify */ + + /* Prototypes for string functions */ #if !defined(bfill) && !defined(HAVE_BFILL) |