53 lines
1.4 KiB
C
53 lines
1.4 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* ft_strlcat.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: lfirmin <marvin@42.fr> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2024/02/14 04:26:07 by lfirmin #+# #+# */
|
|
/* Updated: 2024/02/20 03:31:48 by lfirmin ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
int ft_strlen(char *str)
|
|
{
|
|
int i;
|
|
|
|
i = 0;
|
|
while (str[i] != '\0')
|
|
{
|
|
i++;
|
|
}
|
|
return (i);
|
|
}
|
|
|
|
unsigned int ft_strlcat(char *dest, char *src, unsigned int size)
|
|
{
|
|
unsigned int c1;
|
|
unsigned int c2;
|
|
unsigned int c3;
|
|
unsigned int c4;
|
|
|
|
c1 = 0;
|
|
c2 = 0;
|
|
while (dest[c2] != '\0')
|
|
{
|
|
c2 ++;
|
|
}
|
|
c3 = c2;
|
|
c4 = ft_strlen(src);
|
|
if (size == 0 || size <= c3)
|
|
{
|
|
return (c4 + size);
|
|
}
|
|
while (src[c1] != '\0' && c1 < size - c3 - 1)
|
|
{
|
|
dest[c2] = src[c1];
|
|
c1++;
|
|
c2++;
|
|
}
|
|
dest[c2] = '\0';
|
|
return (c1);
|
|
}
|