diff options
| author | Christopher Uhlig | 2025-01-22 02:40:27 +0100 |
|---|---|---|
| committer | Christopher Uhlig | 2025-01-22 02:40:27 +0100 |
| commit | f6e474d27a1398c6d4f2e88c7f2d3797b85217da (patch) | |
| tree | 7dd7bd5f2a151b39498991b567ae51cff8242782 /src/free_token.c | |
| parent | 78dc50a2bce3c6e31405437189e2990d8fc720ac (diff) | |
| download | minishell-f6e474d27a1398c6d4f2e88c7f2d3797b85217da.tar.gz minishell-f6e474d27a1398c6d4f2e88c7f2d3797b85217da.zip | |
kinda fix for pipe error and again.vs for you db just chnage workfolder gn
Diffstat (limited to 'src/free_token.c')
| -rw-r--r-- | src/free_token.c | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/src/free_token.c b/src/free_token.c index 9b035ac..64278a8 100644 --- a/src/free_token.c +++ b/src/free_token.c @@ -3,14 +3,15 @@ /* ::: :::::::: */ /* free_token.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ +/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/27 14:38:57 by dkaiser #+# #+# */ -/* Updated: 2024/08/02 14:23:56 by dkaiser ### ########.fr */ +/* Updated: 2025/01/22 00:07:58 by chuhlig ### ########.fr */ /* */ /* ************************************************************************** */ #include "token.h" +#include "debug_tools.h" void free_token(t_token *token) { @@ -18,7 +19,10 @@ void free_token(t_token *token) token->previous->next = NULL; if (token->next != NULL) token->next->previous = NULL; - free(token); + // if (token->type == STRING_TOKEN && token->content.string != NULL) + // free(token->content.string); // Ensure content is freed + free(token);//maybe free token + token = NULL; } void free_token_and_connect(t_token *token) @@ -28,14 +32,26 @@ void free_token_and_connect(t_token *token) if (token->next != NULL) token->next->previous = token->previous; free(token); + token = NULL; } -void free_tokens(t_token *tokens) +// void free_tokens(t_token *tokens) +// { +// while (tokens->next != NULL) +// { +// tokens = tokens->next; +// free_token(tokens->previous); +// } +// free_token(tokens); +// } +void free_tokens(t_token *tokens) { - while (tokens->next != NULL) - { - tokens = tokens->next; - free_token(tokens->previous); - } - free_token(tokens); + t_token *tmp; + + while (tokens) + { + tmp = tokens; + tokens = tokens->next; + free_token(tmp); // Ensure each token is freed + } } |
