diff options
| author | nass1pro <nass1pro@gmail.com> | 2020-06-12 10:12:03 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-06-13 11:42:46 +0200 |
| commit | c5cde6afd3cecb44bbe9da0c28d970524da80228 (patch) | |
| tree | 98ec558582ed20a120e13b4a376fd206fb620da0 /test_mini/libft/src/str/ft_split.c | |
| parent | 39c04561ae4956cb836c6117789cbc7926cfbd65 (diff) | |
| download | minishell-c5cde6afd3cecb44bbe9da0c28d970524da80228.tar.gz minishell-c5cde6afd3cecb44bbe9da0c28d970524da80228.tar.bz2 minishell-c5cde6afd3cecb44bbe9da0c28d970524da80228.zip | |
probleme
token ok reste trim and exception
ok
Diffstat (limited to 'test_mini/libft/src/str/ft_split.c')
| -rw-r--r-- | test_mini/libft/src/str/ft_split.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/test_mini/libft/src/str/ft_split.c b/test_mini/libft/src/str/ft_split.c deleted file mode 100644 index 6fb5964..0000000 --- a/test_mini/libft/src/str/ft_split.c +++ /dev/null @@ -1,73 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_split.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/17 08:29:02 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:08:27 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static size_t count_segment(char const *s, char c) -{ - size_t counter; - int i; - - counter = 0; - i = 0; - while (s[i]) - { - if (s[i] == c) - { - i++; - continue ; - } - counter++; - while (s[i] && s[i] != c) - i++; - } - return (counter); -} - -static void *destroy_strs(char **strs) -{ - if (strs == NULL) - return (NULL); - while (*strs != NULL) - free(*strs++); - free(strs); - return (NULL); -} - -char **ft_split(char const *s, char c) -{ - char **strs; - size_t tab_counter; - size_t i; - size_t j; - - if (s == NULL) - return (NULL); - tab_counter = count_segment(s, c); - if ((strs = (char**)malloc(sizeof(char*) * (tab_counter + 1))) == NULL) - return (NULL); - tab_counter = 0; - j = -1; - while (s[++j]) - { - if (s[j] == c) - continue ; - i = 0; - while (s[j + i] && s[j + i] != c) - i++; - if ((strs[tab_counter++] = ft_strndup(&s[j], i)) == NULL) - return (destroy_strs(strs)); - j += i - 1; - } - strs[tab_counter] = NULL; - return (strs); -} |
