From 9901cd05849fa0ef396f09f57b07807ebd96ca32 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 20 Nov 2019 04:04:55 +0100 Subject: refactored everything --- ft_substr.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'ft_substr.c') diff --git a/ft_substr.c b/ft_substr.c index 88f7203..84d6c58 100644 --- a/ft_substr.c +++ b/ft_substr.c @@ -6,31 +6,21 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/17 08:28:49 by cacharle #+# #+# */ -/* Updated: 2019/10/18 11:55:44 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:57:58 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include #include "libft.h" char *ft_substr(char const *s, unsigned int start, size_t len) { - unsigned int i; char *sub; if (s == NULL) return (NULL); - if ((sub = (char*)malloc(sizeof(char) * (len + 1))) == NULL) + if ((sub = ft_strnew(len)) == NULL) return (NULL); - i = 0; - if (!(start > ft_strlen(s))) - { - while (i < len && s[start + i]) - { - sub[i] = s[start + i]; - i++; - } - } - sub[i] = '\0'; - return (sub); + if (start > ft_strlen(s)) + return (sub); + return (ft_strncpy(sub, s + start, len)); } -- cgit