diff options
Diffstat (limited to 'src/ft_strtrim.c')
| -rw-r--r-- | src/ft_strtrim.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ft_strtrim.c b/src/ft_strtrim.c new file mode 100644 index 0000000..e9fa3eb --- /dev/null +++ b/src/ft_strtrim.c @@ -0,0 +1,25 @@ +#include "libft.h" +#include <stdlib.h> + +char * +ft_strtrim (char const *s1, char const *set) +{ + size_t start; + size_t end; + size_t len; + char *trimmed; + + start = 0; + while (s1[start] && ft_strchr (set, s1[start])) + start++; + end = ft_strlen (s1); + while (end > start && ft_strchr (set, s1[end - 1])) + end--; + len = end - start; + trimmed = malloc (len + 1); + if (!trimmed) + return (NULL); + ft_memcpy (trimmed, s1 + start, len); + trimmed[len] = '\0'; + return (trimmed); +} |
