libft
ft_memmove.c
Go to the documentation of this file.
1 /* ************************************************************************** */
3 /* */
4 /* ::: :::::::: */
5 /* ft_memmove.c :+: :+: :+: */
6 /* +:+ +:+ +:+ */
7 /* By: unite <marvin@42.fr> +#+ +:+ +#+ */
8 /* +#+#+#+#+#+ +#+ */
9 /* Created: 2019/09/04 22:24:03 by unite #+# #+# */
10 /* Updated: 2020/07/16 02:56:55 by unite ### ########.fr */
11 /* */
12 /* ************************************************************************** */
13 
14 #include "libft.h"
15 
20 void *ft_memmove(void *dst, const void *src, size_t n)
21 {
22  unsigned char *s1;
23  unsigned char *s2;
24 
25  if (!dst && !src)
26  return (NULL);
27  s1 = (unsigned char *)dst;
28  s2 = (unsigned char *)src;
29  while (n > 0)
30  {
31  if (s1 < s2)
32  *(s1++) = *(s2++);
33  else
34  s1[n - 1] = s2[n - 1];
35  n--;
36  }
37  return (dst);
38 }
ft_memmove
void * ft_memmove(void *dst, const void *src, size_t n)
Replicates behaviour of memmove from libc.
Definition: ft_memmove.c:20
libft.h