From 6a383ab1d0674b043391cbc260c55f1233405a8a Mon Sep 17 00:00:00 2001 From: Lukas Jiriste Date: Thu, 7 Sep 2023 14:57:26 +0200 Subject: [PATCH] Changed ft_strlcat so it correctly handles size = 0 with dst = NULL. (according to alelievr/libft-unit-test) --- ft_strlcat.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ft_strlcat.c b/ft_strlcat.c index 08395ca..0fdfb1e 100644 --- a/ft_strlcat.c +++ b/ft_strlcat.c @@ -6,7 +6,7 @@ /* By: ljiriste +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/12 17:32:33 by ljiriste #+# #+# */ -/* Updated: 2023/09/05 18:40:14 by ljiriste ### ########.fr */ +/* Updated: 2023/09/07 14:51:19 by ljiriste ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,12 +14,10 @@ #include #include "libft.h" -size_t ft_strlcat(char *dst, const char *src, size_t size) +static size_t unprotected_strlcat(char *dst, const char *src, size_t size) { size_t length; - if ((dst == NULL && src == NULL) || size == 0) - return (0); length = 0; while (*dst && size > length) { @@ -42,3 +40,12 @@ size_t ft_strlcat(char *dst, const char *src, size_t size) } return (length); } + +size_t ft_strlcat(char *dst, const char *src, size_t size) +{ + if (dst == NULL && src == NULL) + return (0); + if (size == 0) + return (ft_strlen(src)); + return (unprotected_strlcat(dst, src, size)); +} -- 2.30.2