ft_memmove: add overlap control
This commit is contained in:
parent
ff9d5ebbb5
commit
2608cfbc5a
13
ft_memmove.c
13
ft_memmove.c
@ -6,7 +6,7 @@
|
||||
/* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user