/* ************************************************************************** */ /* LE - / */ /* / */ /* ft_memmove.c .:: .:/ . .:: */ /* +:+:+ +: +: +:+:+ */ /* By: rbousset +:+ +: +: +:+ */ /* #+# #+ #+ #+# */ /* Created: 2019/10/08 18:57:44 by rbousset #+# ## ## #+# */ /* Updated: 2019/10/13 08:38:47 by rbousset ### #+. /#+ ###.fr */ /* / */ /* / */ /* ************************************************************************** */ #include #include void *ft_memmove(void *dst, const void *src, size_t len) { const char *from = (const char*)src; char *to; int i; size_t j; to = (char*)dst; if (to > from && to - from < (int)len) { i = len; while (--i >= 0) to[i] = from[i]; return (dst); } if (from > to && from - to < (int)len) { j = -1; while (++j < len) to[j] = from[j]; return (dst); } ft_memcpy(dst, src, len); return (dst); }