parsing: fix some easy leaks

This commit is contained in:
Khaïs COLIN 2025-04-14 17:13:29 +02:00
parent d40b6c3586
commit 0c489f25bb
2 changed files with 22 additions and 19 deletions

View file

@ -5,14 +5,15 @@
/* +:+ +:+ +:+ */
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/14 16:09/29 by khais #+# #+# */
/* Updated: 2025/04/14 16:09:29 by khais ### ########.fr */
/* Created: 2025/04/14 17:18/55 by khais #+# #+# */
/* Updated: 2025/04/14 17:18:55 by khais ### ########.fr */
/* */
/* ************************************************************************** */
#include "minishell.h"
#include "env/env.h"
#include "get_command.h"
#include "parser/cmd/cmd_destroy.h"
#include "parser/simple_cmd/simple_cmd.h"
#include "parser/wordlist/wordlist.h"
#include "parser/wordsplit/wordsplit.h"
@ -79,25 +80,27 @@ static void app_init(t_minishell *app, char **envp)
int main(int argc, char *argv[], char **envp)
{
char *line;
t_simple_cmd *cmd;
t_cmd *cmd;
t_minishell app;
(void)argc;
(void)argv;
app_init(&app, envp);
/* line = "echo coucou"; */
/* minishell_parse(&app, line); */
/* return (0); */
line = get_command();
while (line != NULL)
{
cmd = parse_command(line);
cmd = post_process_command(cmd, &app);
execute_command(cmd, &app);
line = get_command();
}
line = "echo coucou";
cmd = minishell_parse(&app, line);
cmd_destroy(cmd);
env_destroy(app.env);
return (0);
/* line = get_command(); */
/* while (line != NULL) */
/* { */
/* cmd = parse_command(line); */
/* cmd = post_process_command(cmd, &app); */
/* execute_command(cmd, &app); */
/* line = get_command(); */
/* } */
/* env_destroy(app.env); */
/* return (0); */
}

View file

@ -6,7 +6,7 @@
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/03/31 10:28:28 by jguelen #+# #+# */
/* Updated: 2025/04/14 15:10:28 by khais ### ########.fr */
/* Updated: 2025/04/14 17:18:21 by khais ### ########.fr */
/* */
/* ************************************************************************** */
@ -173,7 +173,7 @@ t_cmd *minishell_simple_parse(t_minishell *app, t_wordlist *tokens)
t_redirect_add_back(&simple->value.simple->redirections, redir);
}
if (!simple->value.simple->words)
return (parse_error(app, tokens->word), NULL);
return (cmd_destroy(simple), parse_error(app, tokens->word), NULL);
return (simple);
}