This commit is contained in:
LuckyLaszlo
2021-10-31 01:10:57 +02:00
parent c0ef57499a
commit 22d4bbfdd0
9 changed files with 27 additions and 17 deletions

View File

@@ -27,13 +27,17 @@
# include <signal.h> # include <signal.h>
# include <dirent.h> # include <dirent.h>
# include <termios.h> # include <termios.h>
# include <curses.h> // sudo apt install libncurses-dev (OR libncurses5-dev)
// sudo apt install libncurses-dev (OR libncurses5-dev)
# include <curses.h>
# include <term.h> # include <term.h>
# include <stdio.h> // sudo apt install libreadline-dev
# include <readline/readline.h> // sudo apt install libreadline-dev # include <readline/readline.h>
# include <readline/history.h> # include <readline/history.h>
# include <stdio.h>
# include "minishell_structs.h" # include "minishell_structs.h"
# include "minishell_macro.h" # include "minishell_macro.h"
# include "minishell_term_colors.h" # include "minishell_term_colors.h"

View File

@@ -13,7 +13,6 @@
#ifndef MINISHELL_STRUCTS_H #ifndef MINISHELL_STRUCTS_H
# define MINISHELL_STRUCTS_H # define MINISHELL_STRUCTS_H
struct s_all;
struct s_all *g_all; struct s_all *g_all;
enum e_token_id enum e_token_id
@@ -22,10 +21,12 @@ enum e_token_id
T_LESS = '<', T_LESS = '<',
T_GREAT = '>', T_GREAT = '>',
T_PIPE = '|', T_PIPE = '|',
T_DLESS, //'<<' T_DLESS,
T_DGREAT, //'>>' T_DGREAT,
T_WORD T_WORD
}; };
// T_DLESS == '<<'
// T_DGREAT == '>>'
typedef struct s_token typedef struct s_token
{ {

View File

@@ -18,7 +18,7 @@ static char *init_prompt(char *prompt_base);
int init(t_all *c, char *envp[]) int init(t_all *c, char *envp[])
{ {
g_all = c; g_all = c;
ft_bzero(c, sizeof *c); ft_bzero(c, sizeof (*c));
c->envp = ft_dup_2d_char_arr(envp); c->envp = ft_dup_2d_char_arr(envp);
if (!c->envp) if (!c->envp)
return (ft_reti_perror(0, "ft_dup_2d_char_arr(envp) error")); return (ft_reti_perror(0, "ft_dup_2d_char_arr(envp) error"));

View File

@@ -11,6 +11,7 @@
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
int check_operators(t_token *t, char *input, int *i, int *t_i); int check_operators(t_token *t, char *input, int *i, int *t_i);
enum e_in_quote_state enum e_in_quote_state

View File

@@ -11,6 +11,7 @@
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
int fill_token(t_token *t, char *input, int *i, int *t_i); int fill_token(t_token *t, char *input, int *i, int *t_i);
static t_token *alloc_token(size_t content_len); static t_token *alloc_token(size_t content_len);
@@ -41,7 +42,7 @@ static t_token *alloc_token(size_t content_len)
{ {
t_token *token; t_token *token;
token = ft_calloc(1, sizeof *token); token = ft_calloc(1, sizeof (*token));
if (!token) if (!token)
return (NULL); return (NULL);
token->content = ft_calloc(content_len + 1, 1); token->content = ft_calloc(content_len + 1, 1);

View File

@@ -11,6 +11,7 @@
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
int valid_io_redirect(t_token **token_list); int valid_io_redirect(t_token **token_list);
static int valid_command_rule1(t_token **token_list); static int valid_command_rule1(t_token **token_list);

View File

@@ -11,6 +11,7 @@
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
int valid_command(t_token **token_list); int valid_command(t_token **token_list);
int valid_pipeline(t_token **token_list) int valid_pipeline(t_token **token_list)

View File

@@ -11,6 +11,7 @@
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
int valid_pipeline(t_token **token_list); int valid_pipeline(t_token **token_list);
int valid_syntax(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)) if (valid_pipeline(&token_list))
return (1); return (1);
else else
{ // WIP ERROR {
ft_putstr_fd("minishell: syntax error near unexpected token \'", 2); ft_putstr_fd("minishell: syntax error near unexpected token \'", 2);
ft_putstr_fd(token_list->content, 2); ft_putstr_fd(token_list->content, 2);
ft_putstr_fd("\'\n", 2); ft_putstr_fd("\'\n", 2);