38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* ft_memmove.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2022/09/27 06:50:08 by erey-bet #+# #+# */
|
|
/* Updated: 2022/10/05 14:35:27 by erey-bet ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include "libft.h"
|
|
|
|
void *ft_memmove(void *dest, const void *src, size_t s)
|
|
{
|
|
size_t i;
|
|
char *d;
|
|
const char *sc;
|
|
|
|
if (dest == NULL && src == NULL)
|
|
return (dest);
|
|
d = dest;
|
|
sc = src;
|
|
if (d < sc)
|
|
ft_memcpy(d, sc, s);
|
|
else
|
|
{
|
|
i = s;
|
|
while (i > 0)
|
|
{
|
|
i--;
|
|
d[i] = sc[i];
|
|
}
|
|
}
|
|
return (dest);
|
|
}
|