diff --git a/headers/minishell.h b/headers/minishell.h index 4ff4d89..51eecc0 100644 --- a/headers/minishell.h +++ b/headers/minishell.h @@ -27,13 +27,17 @@ # include # include # include -# include // sudo apt install libncurses-dev (OR libncurses5-dev) + +// sudo apt install libncurses-dev (OR libncurses5-dev) +# include # include -# include -# include // sudo apt install libreadline-dev +// sudo apt install libreadline-dev +# include # include +# include + # include "minishell_structs.h" # include "minishell_macro.h" # include "minishell_term_colors.h" diff --git a/headers/minishell_prototypes.h b/headers/minishell_prototypes.h index 3b491b5..db71f50 100644 --- a/headers/minishell_prototypes.h +++ b/headers/minishell_prototypes.h @@ -16,10 +16,10 @@ // Init int init(t_all *c, char *envp[]); int set_signals_handling(struct sigaction *ori_signal_behaviour, - struct sigaction *signal_behaviour); + struct sigaction *signal_behaviour); int set_terminal_attributes(struct termios *ori_termios, - struct termios *interactive_termios, - int *termios_changed); + struct termios *interactive_termios, + int *termios_changed); // Shell modes void shell_loop(t_all *c); diff --git a/headers/minishell_structs.h b/headers/minishell_structs.h index c5ba834..84f4fc6 100644 --- a/headers/minishell_structs.h +++ b/headers/minishell_structs.h @@ -13,8 +13,7 @@ #ifndef MINISHELL_STRUCTS_H # define MINISHELL_STRUCTS_H -struct s_all; -struct s_all *g_all; +struct s_all *g_all; enum e_token_id { @@ -22,10 +21,12 @@ enum e_token_id T_LESS = '<', T_GREAT = '>', T_PIPE = '|', - T_DLESS, //'<<' - T_DGREAT, //'>>' + T_DLESS, + T_DGREAT, T_WORD }; +// T_DLESS == '<<' +// T_DGREAT == '>>' typedef struct s_token { @@ -34,7 +35,7 @@ typedef struct s_token enum e_token_id id; } t_token; -typedef int (*t_builtin_ptr)(int,char **,struct s_all *); +typedef int (*t_builtin_ptr)(int,char **,struct s_all *); typedef struct s_cmd { diff --git a/srcs/init.c b/srcs/init.c index 26f826e..eda8db9 100644 --- a/srcs/init.c +++ b/srcs/init.c @@ -15,10 +15,10 @@ static char *init_prompt_base(void); static char *init_prompt(char *prompt_base); -int init(t_all *c, char *envp[]) +int init(t_all *c, char *envp[]) { g_all = c; - ft_bzero(c, sizeof *c); + ft_bzero(c, sizeof (*c)); c->envp = ft_dup_2d_char_arr(envp); if (!c->envp) return (ft_reti_perror(0, "ft_dup_2d_char_arr(envp) error")); @@ -32,7 +32,7 @@ int init(t_all *c, char *envp[]) if (isatty(STDIN_FILENO)) { if (!set_terminal_attributes(&c->ori_termios, &c->interactive_termios, - &c->termios_changed)) + &c->termios_changed)) return (ft_reti_perror(0, "set_terminal_attributes() error")); } return (1); diff --git a/srcs/lexing/fill_token.c b/srcs/lexing/fill_token.c index 8431139..4367689 100644 --- a/srcs/lexing/fill_token.c +++ b/srcs/lexing/fill_token.c @@ -11,6 +11,7 @@ /* ************************************************************************** */ #include "minishell.h" + int check_operators(t_token *t, char *input, int *i, int *t_i); enum e_in_quote_state diff --git a/srcs/lexing/lexing.c b/srcs/lexing/lexing.c index e089544..33ebd56 100644 --- a/srcs/lexing/lexing.c +++ b/srcs/lexing/lexing.c @@ -11,6 +11,7 @@ /* ************************************************************************** */ #include "minishell.h" + int fill_token(t_token *t, char *input, int *i, int *t_i); static t_token *alloc_token(size_t content_len); @@ -21,7 +22,7 @@ t_token *input_to_tokens(char *input) t_token *t_head; t_token *t_tmp; size_t input_len; - + input_len = ft_strlen(input); t_head = alloc_token(input_len); if (!t_head) @@ -41,7 +42,7 @@ static t_token *alloc_token(size_t content_len) { t_token *token; - token = ft_calloc(1, sizeof *token); + token = ft_calloc(1, sizeof (*token)); if (!token) return (NULL); token->content = ft_calloc(content_len + 1, 1); diff --git a/srcs/parsing/valid_command.c b/srcs/parsing/valid_command.c index 4c30f2e..eafb625 100644 --- a/srcs/parsing/valid_command.c +++ b/srcs/parsing/valid_command.c @@ -11,6 +11,7 @@ /* ************************************************************************** */ #include "minishell.h" + int valid_io_redirect(t_token **token_list); static int valid_command_rule1(t_token **token_list); diff --git a/srcs/parsing/valid_pipeline.c b/srcs/parsing/valid_pipeline.c index cda0454..e003d29 100644 --- a/srcs/parsing/valid_pipeline.c +++ b/srcs/parsing/valid_pipeline.c @@ -11,6 +11,7 @@ /* ************************************************************************** */ #include "minishell.h" + int valid_command(t_token **token_list); int valid_pipeline(t_token **token_list) diff --git a/srcs/parsing/valid_syntax.c b/srcs/parsing/valid_syntax.c index 0fd9f2f..0254712 100644 --- a/srcs/parsing/valid_syntax.c +++ b/srcs/parsing/valid_syntax.c @@ -11,6 +11,7 @@ /* ************************************************************************** */ #include "minishell.h" + int valid_pipeline(t_token **token_list); int valid_syntax(t_token *token_list) @@ -18,7 +19,7 @@ int valid_syntax(t_token *token_list) if (valid_pipeline(&token_list)) return (1); else - { // WIP ERROR + { ft_putstr_fd("minishell: syntax error near unexpected token \'", 2); ft_putstr_fd(token_list->content, 2); ft_putstr_fd("\'\n", 2);