]> git.dkaiser.de - 42/minishell.git/commitdiff
Test test test
authorDominik Kaiser <dkaiser@3-G-5.42heilbronn.de>
Wed, 22 Jan 2025 16:34:07 +0000 (17:34 +0100)
committerDominik Kaiser <dkaiser@3-G-5.42heilbronn.de>
Wed, 22 Jan 2025 16:34:07 +0000 (17:34 +0100)
include/token.h
src/free_token.c
src/parse_cmd.c
src/parser.c
src/praise_the_norme.c

index 2e8da3501424eb093070eb2ded8bc8d297c727be..67d5737d736ea127f7db7ae1750db9ab4f67aebb 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/06/27 13:27:18 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/20 19:10:30 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/22 17:27:48 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -50,4 +50,6 @@ void                                          tokenizer(char *s, t_token **token_list,
                                                                char quote_check);
 void                                           print_token(t_token *token);
 
+void   free_token2(t_token *token);
+void   free_token_and_connect2(t_token *token);
 #endif
index 66ab1dd359d530de66e55fd5b41cf1a99c023b0f..2292eb0ad24ff270e3cdd0561f481f5e9851d233 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/06/27 14:38:57 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/22 15:56:38 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/22 17:28:31 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -28,6 +28,19 @@ void free_token(t_token *token)
        token = NULL;
 }
 
+void   free_token2(t_token *token)
+{
+       if (token->previous != NULL)
+               token->previous->next = NULL;
+       if (token->next != NULL)
+               token->next->previous = NULL;
+               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)
 {
        if (token->previous != NULL)
@@ -38,14 +51,26 @@ void        free_token_and_connect(t_token *token)
        token = NULL;
 }
 
+void   free_token_and_connect2(t_token *token)
+{
+       if (token->previous != NULL)
+               token->previous->next = token->next;
+       if (token->next != NULL)
+               token->next->previous = token->previous;
+       if (token->type == STRING_TOKEN && token->content.string != NULL)
+               free(token->content.string); // Ensure content is freed
+       free(token);
+       token = NULL;
+}
+
 void   free_tokens(t_token *tokens)
 {
        while (tokens->next != NULL)
        {
                tokens = tokens->next;
-               free_token(tokens->previous);
+               free_token2(tokens->previous);
        }
-       free_token(tokens);
+       free_token2(tokens);
 }
 // void free_tokens(t_token *tokens)
 // {
index c0a9ad941e225198a71adb17f72f8027ef2bf73c..02c4bda2fbf2126cbd20dbcfd1e6a258bff888d8 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/07/08 15:06:25 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/21 21:27:29 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/22 17:26:14 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
index e7b53c20f20bc2ef68659f755fc39d6db75de68b..2d748c90eefd5e36e7e95255d2cb654a68714d50 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/06/29 15:53:29 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/21 21:27:15 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/22 17:13:50 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -70,7 +70,7 @@ t_token       *split_at_first(t_token **tokens, int type)
        *tokens = split->next;
        if (result == split)
                result = NULL;
-       free_token(split);
+       free_token2(split);
        split = NULL;
        return (result);
 }
index a22843b13983ace4ae15047fbe8084e30b69fb47..6af28c366185a103551a48a16e8b4981fe003c52 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2025/01/20 18:35:41 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/20 18:39:31 by dkaiser          ###   ########.fr       */
+/*   Updated: 2025/01/22 17:30:02 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -17,13 +17,13 @@ void        i_love_the_norme(t_token **cur, t_token **tokens)
        t_token *next_token;
 
        next_token = (*cur)->next;
-       free_token_and_connect(*cur);
+       free_token_and_connect2(*cur);
        if (next_token)
        {
                if (next_token->previous == NULL)
                        *tokens = next_token->next;
                *cur = next_token->next;
-               free_token_and_connect(next_token);
+               free_token_and_connect2(next_token);
        }
        else
                *cur = NULL;