diff options
Diffstat (limited to 'src/mem/memcpy.c')
-rw-r--r-- | src/mem/memcpy.c | 19 |
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); |