/* Normally compiler builtins are used, but sometimes the compiler calls out | |
of line code. Based on asm-i386/string.h. | |
*/ | |
#define _STRING_C | |
#include <linux/string.h> | |
#include <linux/module.h> | |
#undef memmove | |
void *memmove(void *dest, const void *src, size_t count) | |
{ | |
if (dest < src) { | |
return memcpy(dest, src, count); | |
} else { | |
char *p = dest + count; | |
const char *s = src + count; | |
while (count--) | |
*--p = *--s; | |
} | |
return dest; | |
} | |
EXPORT_SYMBOL(memmove); |