diff options
Diffstat (limited to 'src/eval/utils_eval.c')
| -rw-r--r-- | src/eval/utils_eval.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/eval/utils_eval.c b/src/eval/utils_eval.c new file mode 100644 index 0000000..374411e --- /dev/null +++ b/src/eval/utils_eval.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* utils_eval.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/07/20 13:07:25 by nahaddac #+# #+# */ +/* Updated: 2020/07/20 14:51:40 by nahaddac ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "eval.h" + + +t_ftlst *split_token(t_ftlst **lst, enum e_token_tag tag) +{ + t_ftlst *curr; + t_ftlst *start; + + start = *lst; + curr = *lst; + while (curr != NULL || ((t_token *)curr->data)->tag & tag) + { + if (curr->next == NULL || (!(((t_token *)curr->next->data)->tag & tag))) + { + *lst = curr->next; + curr->next = NULL; + return start; + } + curr = curr->next; + } + return start; +} |
