ft_memcpy.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_memcpy.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/24 16:05:01 by bchanot #+# #+# */
  9. /* Updated: 2016/05/23 14:35:38 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. void *ft_memcpy(void *dst, const void *src, size_t n)
  14. {
  15. char *c_dst;
  16. char *c_src;
  17. if (dst == NULL || src == NULL)
  18. return (NULL);
  19. c_dst = (char *)dst;
  20. c_src = (char *)src;
  21. if (n == 0 || dst == src)
  22. return ((void *)c_dst);
  23. while (--n)
  24. {
  25. *c_dst = *c_src;
  26. c_dst++;
  27. c_src++;
  28. }
  29. *c_dst = *c_src;
  30. return (dst);
  31. }