ft_strlcat.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_strlcat.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/26 13:43:52 by bchanot #+# #+# */
  9. /* Updated: 2018/10/29 11:57:39 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. size_t ft_strlcat(char *dst, const char *const src, size_t size)
  14. {
  15. size_t dest_end;
  16. size_t i;
  17. i = 0;
  18. if (!src || !size)
  19. return (0);
  20. while (dst[i] && i < size)
  21. i++;
  22. dest_end = i;
  23. while (src[i - dest_end] && i < size - 1)
  24. {
  25. dst[i] = src[i - dest_end];
  26. i++;
  27. }
  28. if (i < size)
  29. dst[i] = '\0';
  30. return (dest_end + ft_strlen(src));
  31. }