From 1aa76857dd6dccd56d9313552ebf63a9897866b0 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Fri, 21 Oct 2011 09:27:45 +0800 Subject: [PATCH] Kernel - memmove improved (but with an assumption) --- Kernel/lib.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Kernel/lib.c b/Kernel/lib.c index 4d65108a..6263dc8a 100644 --- a/Kernel/lib.c +++ b/Kernel/lib.c @@ -966,6 +966,10 @@ void *memmove(void *__dest, const void *__src, size_t len) if( (tVAddr)dest + len < (tVAddr)src ) return memcpy(dest, src, len); + // NOTE: Assumes memcpy works forward + if( (tVAddr)dest < (tVAddr)src ) + return memcpy(dest, src, len); + if( (tVAddr)dest < (tVAddr)src ) block_size = (tVAddr)src - (tVAddr)dest; else -- 2.20.1