blob: 5fefe70c6e2c60a45213469d6f121274d0217afc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* utils_eval.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/07/20 13:07:25 by nahaddac #+# #+# */
/* Updated: 2020/07/20 17:53:18 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "eval.h"
t_ftlst *split_token(t_ftlst **lst, enum e_token_tag tag)
{
t_ftlst *curr;
t_ftlst *start;
enum e_token_tag curr_tag;
start = *lst;
curr = *lst;
t_ftlst *prev = curr;
while (curr != NULL)
{
curr_tag = ((t_token *)curr->data)->tag;
if (!(curr_tag & TAG_STICK) || !(curr_tag & TAG_IS_STR))
{
*lst = prev->next;
prev->next = NULL;
return start;
}
prev = curr;
curr = curr->next;
}
return start;
/* if (curr != NULL) */
/* curr_tag = ((t_token *)curr->data)->tag; */
/* while (curr != NULL && curr_tag & TAG_STICK && curr_tag & TAG_IS_STR) */
/* { */
/* curr = curr->next; */
/* curr_tag = ((t_token *)curr->data)->tag; */
/* if (curr == NULL || !(curr_tag & TAG_STICK) || !(curr_tag & TAG_IS_STR)) */
/* { */
/* *lst = curr->next; */
/* curr->next = NULL; */
/* } */
/* } */
/* return start; */
}
|