diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-21 12:39:20 +0100 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-21 12:39:34 +0100 |
| commit | d699849b2360f90c61f645c5d4d4232cd3e1c962 (patch) | |
| tree | c929ec20ca3b16fe3d34bd75e412ca49f7420125 /ft_memmove.c | |
| download | Libft-d699849b2360f90c61f645c5d4d4232cd3e1c962.tar.gz Libft-d699849b2360f90c61f645c5d4d4232cd3e1c962.zip | |
Initial commit: libft Part 1 with tests and documentation
Reimplements 24 libc functions with Doxygen-documented header
and test suite comparing against libc.
Diffstat (limited to 'ft_memmove.c')
| -rw-r--r-- | ft_memmove.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ft_memmove.c b/ft_memmove.c new file mode 100644 index 0000000..ace0d90 --- /dev/null +++ b/ft_memmove.c @@ -0,0 +1,26 @@ +#include "libft.h" + +void * +ft_memmove (void *dest, const void *src, size_t n) +{ + unsigned char *dst_bytes; + const unsigned char *src_bytes; + + if (!dest && !src) + return (dest); + dst_bytes = dest; + src_bytes = src; + if (dst_bytes > src_bytes) + { + dst_bytes += n; + src_bytes += n; + while (n--) + *--dst_bytes = *--src_bytes; + } + else + { + while (n--) + *dst_bytes++ = *src_bytes++; + } + return (dest); +} |
