aboutsummaryrefslogtreecommitdiffstats
path: root/src/mem/memcpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/memcpy.c')
-rw-r--r--src/mem/memcpy.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/mem/memcpy.c b/src/mem/memcpy.c
index 7880c53..c9fbfab 100644
--- a/src/mem/memcpy.c
+++ b/src/mem/memcpy.c
@@ -5,10 +5,21 @@
*/
#include <mem.h>
+void *calt_memcpy(void *restrict dest, const void *restrict src,
+ size_t count) {
+ unsigned char *d = dest;
+ unsigned char const *s = src;
-extern inline void *calt_memcpy(void *restrict dest, void const *restrict src,
- size_t count);
+ while (count-- > 0) {
+ *d++ = *s++;
+ }
+ return dest;
+}
+
+
+void *calt_memcpy_null(void *restrict dest, void const *restrict src,
+ size_t count) {
+ return dest ? calt_memcpy(dest, src, count) : NULL;
+}
-extern inline void *calt_memcpy_null(void *restrict dest, void const *restrict src,
- size_t count);