/ fdf / fdf / libft / ft_strlcat.c
ft_strlcat.c
 1  /* ************************************************************************** */
 2  /*                                                                            */
 3  /*                                                        :::      ::::::::   */
 4  /*   ft_strlcat.c                                       :+:      :+:    :+:   */
 5  /*                                                    +:+ +:+         +:+     */
 6  /*   By: gychoi <marvin@42.fr>                      +#+  +:+       +#+        */
 7  /*                                                +#+#+#+#+#+   +#+           */
 8  /*   Created: 2022/07/08 16:45:04 by gychoi            #+#    #+#             */
 9  /*   Updated: 2022/07/11 14:52:18 by gychoi           ###   ########.fr       */
10  /*                                                                            */
11  /* ************************************************************************** */
12  
13  #include "libft.h"
14  
15  size_t	ft_strlcat(char *dst, const char *src, size_t dstsize)
16  {
17  	size_t	dstlen;
18  	size_t	srclen;
19  	size_t	i;
20  
21  	dstlen = ft_strlen(dst);
22  	srclen = ft_strlen(src);
23  	if (dstlen >= dstsize)
24  		return (srclen + dstsize);
25  	i = 0;
26  	while (i + dstlen + 1 < dstsize && src[i] != '\0')
27  	{
28  		dst[dstlen + i] = src[i];
29  		i++;
30  	}
31  	dst[dstlen + i] = '\0';
32  	return (srclen + dstlen);
33  }