From a2ef228b981df5ad417a0e8377e1e832002a7644 Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 7 Jul 2019 15:29:30 +0200 Subject: c04/c05 testing + c06 --- c03/ex05/ft_strlcat.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'c03/ex05') diff --git a/c03/ex05/ft_strlcat.c b/c03/ex05/ft_strlcat.c index 5cacc4d..1e7f9dc 100644 --- a/c03/ex05/ft_strlcat.c +++ b/c03/ex05/ft_strlcat.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 15:43:34 by cacharle #+# #+# */ -/* Updated: 2019/07/06 07:12:28 by cacharle ### ########.fr */ +/* Updated: 2019/07/07 11:08:08 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,30 +15,29 @@ unsigned int my_strlen(char *str) int counter; counter = 0; - while (*str != '\0') - { + while (str[counter]) counter++; - str++; - } return (counter); } unsigned int ft_strlcat(char *dest, char *src, unsigned int size) { unsigned int i; - unsigned int len_src; - unsigned int len_dest; + unsigned int dest_len; + unsigned int src_len; - len_src = my_strlen(src); - len_dest = my_strlen(dest); - if (!len_src) - return (len_dest); - i = len_dest - 1; - while (i < size - len_dest - 1 && src[i]) + dest_len = my_strlen(dest); + src_len = my_strlen(src); + if (size == 0) + return (src_len); + i = dest_len; + while (i < size - 1 && src[i - dest_len]) { - dest[i] = src[i]; + dest[i] = src[i - dest_len]; i++; } - dest[i] = '\0'; - return (len_src + len_dest); + if (dest[size - 1] != '\0') + return (src_len + size); + dest[size - 1] = '\0'; + return (dest_len + src_len); } -- cgit