From 1db975bcac498203e18a8efb31430676c0f593e5 Mon Sep 17 00:00:00 2001 From: Tanguy MAZE Date: Tue, 10 Apr 2018 19:09:02 +0200 Subject: [PATCH] correcting overwriting --- ft_strncat.c | 14 ++++++++++---- libft.h | 5 +++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ft_strncat.c b/ft_strncat.c index 3885eac..1f25fc9 100644 --- a/ft_strncat.c +++ b/ft_strncat.c @@ -6,18 +6,24 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/04 18:29:06 by tmaze #+# #+# */ -/* Updated: 2018/04/08 14:21:53 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 19:07:13 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" -char *ft_strncat(char *restrict dest, const char *src, size_t n) +char *ft_strncat(char *restrict dest, const char *restrict src, size_t n) { int dest_len; + size_t i; dest_len = ft_strlen(dest); - ft_strncpy(&dest[dest_len], src, n); - dest[dest_len + n] = '\0'; + i = 0; + while (++i < n && src[i]) + { + dest[dest_len + i] = src[i]; + i++; + } + dest[dest_len + i] = '\0'; return (dest); } diff --git a/libft.h b/libft.h index 3ab993e..c6418cc 100644 --- a/libft.h +++ b/libft.h @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/08 00:12:36 by tmaze #+# #+# */ -/* Updated: 2018/04/09 18:56:24 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 19:08:03 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -46,7 +46,8 @@ char *ft_strdup(const char *s); char *ft_strcpy(char *dest, const char *src); char *ft_strncpy(char *dest, const char *src, size_t n); char *ft_strcat(char *restrict dest, const char *src); -char *ft_strncat(char *dest, const char *src, size_t n); +char *ft_strncat(char *restrict dest, const char *restrict src,\ + size_t n); size_t ft_strlcat(char *dst, const char *src, size_t size); char *ft_strchr(const char *s, int c); char *ft_strrchr(const char *s, int c);