From a8f7e6e83bc4846c94c0489e0f6e0f807b35073e Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Sat, 21 Feb 2026 16:29:51 +0100 Subject: Implement libft Part 2 with tests Add ft_substr, ft_strjoin, ft_strtrim, ft_split, ft_itoa, ft_strmapi, ft_striteri, ft_putchar_fd, ft_putstr_fd, ft_putendl_fd, ft_putnbr_fd. --- src/ft_substr.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/ft_substr.c (limited to 'src/ft_substr.c') diff --git a/src/ft_substr.c b/src/ft_substr.c new file mode 100644 index 0000000..0db72d0 --- /dev/null +++ b/src/ft_substr.c @@ -0,0 +1,23 @@ +#include "libft.h" +#include + +char * +ft_substr (char const *s, unsigned int start, size_t len) +{ + size_t slen; + size_t actual; + char *sub; + + slen = ft_strlen (s); + if (start >= slen) + return (ft_strdup ("")); + actual = slen - start; + if (actual > len) + actual = len; + sub = malloc (actual + 1); + if (!sub) + return (NULL); + ft_memcpy (sub, s + start, actual); + sub[actual] = '\0'; + return (sub); +} -- cgit v1.2.3