ft_memmove.c 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_memmove2.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/30 18:31:34 by bchanot #+# #+# */
  9. /* Updated: 2015/12/07 13:09:31 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. void *ft_memmove(void *dst, const void *src, size_t len)
  14. {
  15. char *s_dst;
  16. char *s_src;
  17. if (dst == src && !len)
  18. return (NULL);
  19. s_dst = (char *)dst;
  20. s_src = (char *)src;
  21. if (s_dst > s_src)
  22. {
  23. while (len--)
  24. s_dst[len] = s_src[len];
  25. }
  26. else
  27. dst = ft_memcpy(dst, (void *)src, len);
  28. return (dst);
  29. }