From 5a24e30c6ddbd4ad0daeea15573cf6471e336034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl?= Date: Fri, 29 Mar 2024 11:54:30 +0100 Subject: [PATCH] Adding the start of the parsing and added the minishell in the git ignore --- .gitignore | 1 + Makefile | 5 +++-- includes/minishell.h | 4 +++- includes/type_rust.h | 2 +- minishell | Bin 19976 -> 0 bytes sources/ft_exit.c | 19 +++++++++++++++++++ sources/main.c | 39 ++++++++++++++++++++++++++++----------- 7 files changed, 55 insertions(+), 15 deletions(-) delete mode 100755 minishell create mode 100644 sources/ft_exit.c diff --git a/.gitignore b/.gitignore index 70fd835d..bc400656 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ Module.symvers Mkfile.old dkms.conf objects/ +minishell diff --git a/Makefile b/Makefile index 7884d5d6..109be384 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: rparodi +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/12 11:05:05 by rparodi #+# #+# # -# Updated: 2024/03/28 15:17:18 by rparodi ### ########.fr # +# Updated: 2024/03/29 11:45:30 by rparodi ### ########.fr # # # # **************************************************************************** # @@ -29,7 +29,8 @@ CFLAGS = -Werror -Wextra -Wall -Wno-unused-command-line-argument -g3 -MMD -lread LIB = ./libft/get_next_line.c \ ./libft/get_next_line_utils.c -SRC = ./sources/main.c +SRC = ./sources/ft_exit.c\ + ./sources/main.c # Objects OBJDIRNAME = ./objects diff --git a/includes/minishell.h b/includes/minishell.h index 28bda83a..021f6658 100644 --- a/includes/minishell.h +++ b/includes/minishell.h @@ -6,7 +6,7 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/28 14:41:15 by rparodi #+# #+# */ -/* Updated: 2024/03/28 15:21:29 by rparodi ### ########.fr */ +/* Updated: 2024/03/29 11:42:54 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,6 +27,8 @@ # include # include # include + i32 main(void); +void ft_exit(u8 exit_status); #endif diff --git a/includes/type_rust.h b/includes/type_rust.h index 4c8d7f87..2c9166b2 100644 --- a/includes/type_rust.h +++ b/includes/type_rust.h @@ -6,7 +6,7 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/28 14:44:20 by rparodi #+# #+# */ -/* Updated: 2024/03/28 15:01:47 by rparodi ### ########.fr */ +/* Updated: 2024/03/29 11:44:40 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/minishell b/minishell deleted file mode 100755 index 963606aef81fdcf7e052625d8710bbff7a2b1620..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19976 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 diff --git a/sources/ft_exit.c b/sources/ft_exit.c new file mode 100644 index 00000000..6a9a4a2e --- /dev/null +++ b/sources/ft_exit.c @@ -0,0 +1,19 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_exit.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/29 11:35:51 by rparodi #+# #+# */ +/* Updated: 2024/03/29 11:42:39 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "../includes/minishell.h" + +void ft_exit(u8 exit_status) +{ + printf("exit\n"); + exit(exit_status); +} diff --git a/sources/main.c b/sources/main.c index 2c98d471..70c1e92c 100644 --- a/sources/main.c +++ b/sources/main.c @@ -6,30 +6,47 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/28 14:40:38 by rparodi #+# #+# */ -/* Updated: 2024/03/28 15:20:38 by rparodi ### ########.fr */ +/* Updated: 2024/03/29 11:53:25 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ #include "../includes/minishell.h" +int ft_check_type_cmd(i8 *cmd) +{ + usize i; + + i = 0; + while (cmd[i] != '\0') + { + if (cmd[i] == '>') + { + if (cmd[i + 1] == '>') + printf("Have to redirect at the end of the file\n"); + else + printf("Have to redirect in the file\n"); + } + } + return (1); +} + void ft_take_cmd(void) { - int i = 0; - char *next_line = NULL; + i32 i = 0; + i8 *user_input = NULL; while (i < 10000000) { - next_line = readline("shcat > "); - if (!next_line) - exit(1); - printf("%s\n", next_line); - add_history(next_line); - free(next_line); + user_input = readline("shcat > "); + if (!user_input || strcmp("exit", user_input) == 0) + ft_exit(0); + ft_check_type_cmd(user_input); + add_history(user_input); + free(user_input); i++; } } -int main(void) +i32 main(void) { - printf("Welcome to our Minishell !\n"); ft_take_cmd(); }