aboutsummaryrefslogtreecommitdiffstats
path: root/src/mem/memswap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/memswap.c')
-rw-r--r--src/mem/memswap.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mem/memswap.c b/src/mem/memswap.c
index 512c8c9..b6d30b1 100644
--- a/src/mem/memswap.c
+++ b/src/mem/memswap.c
@@ -6,4 +6,16 @@
#include <mem.h>
-extern inline void calt_memswap(void *restrict ptr1, void *restrict ptr2, size_t size);
+void calt_memswap(void *restrict ptr1, void *restrict ptr2, size_t size) {
+ if(ptr1 == ptr2){
+ return;
+ }
+ unsigned char *p1 = ptr1;
+ unsigned char *p2 = ptr2;
+ while (size-- > 0) {
+ unsigned char temp = *p1;
+ *p1++ = *p2;
+ *p2++ = temp;
+ }
+}
+