From 7672237bc1bd3f7ba2cf6844731b8719621bb8cd Mon Sep 17 00:00:00 2001 From: Timo Schmidt Date: Fri, 24 Mar 2023 00:47:26 +0100 Subject: [PATCH] Fix ft_strlcpy.c --- ex10/ft_strlcpy.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/ex10/ft_strlcpy.c b/ex10/ft_strlcpy.c index c592215..94ce39a 100644 --- a/ex10/ft_strlcpy.c +++ b/ex10/ft_strlcpy.c @@ -6,35 +6,41 @@ /* By: tischmid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/03/19 11:49:46 by tischmid #+# #+# */ -/* Updated: 2023/03/21 09:44:10 by tischmid ### ########.fr */ +/* Updated: 2023/03/24 00:46:53 by tischmid ### ########.fr */ /* */ /* ************************************************************************** */ +#define BUFSIZE 10 + unsigned int ft_strlcpy(char *dest, char *src, unsigned int size) { - unsigned int i; + char *orig_src; - i = -1; - while (*src && ++i < size - 1) + orig_src = src; + while (size-- > 1 && *src) *dest++ = *src++; *dest = 0; - return (i); + size = 0; + while (*orig_src++) + ++size; + return (size); } -/* //// +#define START #include int main(void) { - char buf2[10]; - char buf[2]; - char str[] = {'A','B','C','D','E','\0'}; + char buf[BUFSIZE] = "||||||||||"; + unsigned int return_size; - ft_strlcpy(buf, str, 6); - printf("%p\n", buf); - printf("%s\n", buf); - printf("%p\n", buf2); - printf("%s\n", buf2); + for (int j = 0; j < 11; ++j) + { + printf("####### Size == %d #######\n", j); + return_size = ft_strlcpy(buf, "01234", j); + printf("Return Size: %d\n", return_size); + for (int i = 0; i < BUFSIZE; ++i) + printf((buf[i] >= 32 && buf[i] <= 126) ? "%c\n" : "0x%x\n", buf[i]); + } return (0); } -*/ ////