From: Lukas Jiriste Date: Thu, 7 Sep 2023 12:57:26 +0000 (+0200) Subject: Changed ft_strlcat so it correctly handles size = 0 with dst = NULL. X-Git-Url: https://git.ljiriste.work/?a=commitdiff_plain;h=refs%2Fheads%2F42Project;p=Libft.git Changed ft_strlcat so it correctly handles size = 0 with dst = NULL. (according to alelievr/libft-unit-test) --- 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)); +}