minishell
ft_strlcat.c
Go to the documentation of this file.
1 /* ************************************************************************** */
2 /* */
3 /* ::: :::::::: */
4 /* ft_strlcat.c :+: :+: :+: */
5 /* +:+ +:+ +:+ */
6 /* By: kfujita <kfujita@student.42tokyo.jp> +#+ +:+ +#+ */
7 /* +#+#+#+#+#+ +#+ */
8 /* Created: 2022/04/06 20:11:16 by kfujita #+# #+# */
9 /* Updated: 2022/04/25 23:28:16 by kfujita ### ########.fr */
10 /* */
11 /* ************************************************************************** */
12 
13 #include "ft_string.h"
14 
15 size_t ft_strlcat(char *dest, const char *src, size_t size)
16 {
17  size_t src_len;
18  size_t dest_len;
19 
20  dest_len = ft_strnlen(dest, size);
21  src_len = ft_strlen(src);
22  if (dest_len >= size)
23  return (size + src_len);
24  size -= dest_len;
25  dest += dest_len;
26  while (*src != '\0' && --size > 0)
27  *(dest++) = *(src++);
28  *dest = '\0';
29  return (src_len + dest_len);
30 }
size_t ft_strnlen(const char *str, size_t max_len)
Definition: ft_strnlen.c:16
size_t ft_strlen(const char *s)
Definition: ft_strlen.c:15
size_t ft_strlcat(char *dest, const char *src, size_t size)
Definition: ft_strlcat.c:15