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 963606ae..00000000 Binary files a/minishell and /dev/null differ 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(); }