/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_substr.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/10/03 11:17:12 by mcolonna #+# #+# */ /* Updated: 2023/10/09 13:27:30 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ #include #include "libft.h" char *ft_substr(char const *s, unsigned int start, size_t len) { char *dest; size_t s_len; size_t dest_len; size_t i; s_len = ft_strlen(s); if (s_len < start) dest_len = 0; else if (s_len < start + len) dest_len = s_len - start; else dest_len = len; dest = malloc((dest_len + 1) * sizeof(char)); if (!dest) return (NULL); i = 0; while (i < dest_len) { dest[i] = s[start + i]; i++; } dest[i] = '\0'; return (dest); }