diff --git a/ft_memmove.c b/ft_memmove.c index 14438a3..c5883c4 100644 --- a/ft_memmove.c +++ b/ft_memmove.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/06 15:06:49 by tmaze #+# #+# */ -/* Updated: 2018/04/06 16:50:07 by tmaze ### ########.fr */ +/* Updated: 2018/04/08 13:28:55 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,7 +17,14 @@ void *ft_memmove(void *dst, const void *src, size_t len) size_t i; i = 0; - while (++i <= len) - ((char*)dst)[i - 1] = ((char*)src)[i - 1]; + if (src < dst) + { + i = len + 1; + while (--i > 0) + ((char*)dst)[i - 1] = ((char*)src)[i - 1]; + } + else if (src > dst) + while (++i <= len) + ((char*)dst)[i - 1] = ((char*)src)[i - 1]; return (dst); }