ft_memmove: add overlap control
This commit is contained in:
parent
ff9d5ebbb5
commit
2608cfbc5a
@ -6,7 +6,7 @@
|
|||||||
/* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */
|
/* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2018/04/06 15:06:49 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,6 +17,13 @@ void *ft_memmove(void *dst, const void *src, size_t len)
|
|||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
if (src < dst)
|
||||||
|
{
|
||||||
|
i = len + 1;
|
||||||
|
while (--i > 0)
|
||||||
|
((char*)dst)[i - 1] = ((char*)src)[i - 1];
|
||||||
|
}
|
||||||
|
else if (src > dst)
|
||||||
while (++i <= len)
|
while (++i <= len)
|
||||||
((char*)dst)[i - 1] = ((char*)src)[i - 1];
|
((char*)dst)[i - 1] = ((char*)src)[i - 1];
|
||||||
return (dst);
|
return (dst);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user