aboutsummaryrefslogtreecommitdiff
path: root/src/free_token.c
diff options
context:
space:
mode:
authorChristopher Uhlig2025-01-22 02:40:27 +0100
committerChristopher Uhlig2025-01-22 02:40:27 +0100
commitf6e474d27a1398c6d4f2e88c7f2d3797b85217da (patch)
tree7dd7bd5f2a151b39498991b567ae51cff8242782 /src/free_token.c
parent78dc50a2bce3c6e31405437189e2990d8fc720ac (diff)
downloadminishell-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.c36
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
+ }
}