From 1aa76857dd6dccd56d9313552ebf63a9897866b0 Mon Sep 17 00:00:00 2001
From: John Hodge <tpg@mutabah.net>
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
-- 
GitLab