This commit is contained in:
kinou-p 2022-04-19 12:41:00 +02:00
parent 10abbb572d
commit 954e8c47fb
9 changed files with 97 additions and 118 deletions

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/09 22:33:49 by apommier #+# #+# */
/* Updated: 2022/04/19 08:37:43 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:18:26 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -55,8 +55,6 @@ typedef struct s_command {
char **env;
int nb_s_cmd;
struct s_simple **s_cmds;
//char *outfile;
//char *infile;
int err_var;
struct s_simple *current_s_cmd;
char **path;
@ -65,7 +63,7 @@ typedef struct s_command {
char *error_parsing(void);
//main.c
int main();//int ac, char **av, char **path);
int main(int ac, char **av, char **path);
char **ft_dup_double(char **env);
//pipe.c
@ -117,7 +115,6 @@ int find_variable(char *variable, t_s_cmd *cmd);
int find_it(char **str, char *s);
int check_variable(char *variable);
int cd_error(t_s_cmd *cmd, char *str, int i);
int msg_error(t_s_cmd *cmd, char *cm, char *entry, char *error, int i);
int size_path(char **str);
int check_return(t_s_cmd *cmd, int var);

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/11/29 00:09:17 by apommier #+# #+# */
/* Updated: 2022/04/19 08:44:19 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:11:56 by apommier ### ########.fr */
/* */
/* ************************************************************************** */

View File

@ -70,10 +70,11 @@ char *next_line(char *save, int *end, int fd)
char *get_next_line(int fd)
{
char *save = NULL;
char *save;
int *end;
char *line;
save = 0;
line = 0;
if (fd < 0)
return (0);

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/21 18:30:26 by sadjigui #+# #+# */
/* Updated: 2022/04/17 10:05:05 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:32:13 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -159,11 +159,10 @@ int open_directory(t_s_cmd *cmd)
}
else
{
return (msg_error(cmd, "Minishell: cd: ", cmd->args[1], ": No such directory\n", 1));
// ft_putstr_fd("Minishell: cd: ", 2);
// ft_putstr_fd(cmd->args[1], 2);
// ft_putstr_fd(": No such directory\n", 2);
// return ;//(1);
ft_putstr_fd("Minishell: cd: ", 2);
ft_putstr_fd(cmd->args[1], 2);
ft_putstr_fd(": No such directory\n", 2);
return (check_return(cmd, 1));
}
}
return (check_return(cmd, 0));

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/16 15:04:12 by sadjigui #+# #+# */
/* Updated: 2022/04/18 03:15:44 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:18:18 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -42,14 +42,6 @@ int cd_error(t_s_cmd *cmd, char *str, int i)
return (check_return(cmd, i));
}
int msg_error(t_s_cmd *cmd, char *cm, char *entry, char *error, int i)
{
ft_putstr_fd(cm, 2);
ft_putstr_fd(entry, 2);
ft_putstr_fd(error, 2);
return (check_return(cmd, i));
}
int size_path(char **str)
{
int i;

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/06 13:27:11 by apommier #+# #+# */
/* Updated: 2022/04/19 12:05:20 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:22:04 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -83,7 +83,6 @@ void print_prompt(char **path)
free_double(path);
execute(cmd, cmd->env);
err_var = cmd->err_var;
path = ft_dup_double(cmd->env);
free_cmd(cmd);
cmd = 0;

View File

@ -6,13 +6,12 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/04/02 18:51:31 by apommier #+# #+# */
/* Updated: 2022/04/19 12:00:46 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:30:01 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
#include "../../includes/minishell.h"
void close_pipe(t_cmd *cmd)
{
int i;
@ -107,18 +106,12 @@ void execute(t_cmd *cmd, char **env)
int fdpipe[2];
int fdout;
int fdin;
int tmpin = -1;
int tmpout = -1;
int i;
tmpin = -1;
tmpout = -1;
i = 0;
fdpipe[1] = -1;
tmpin = dup(0);
tmpout = dup(1);
cmd->tmpin = tmpin;
cmd->tmpout = tmpout;
cmd->tmpin = dup(0);
cmd->tmpout = dup(1);
if (cmd->current_s_cmd->infile)
{
fdin = open(cmd->current_s_cmd->infile, O_RDWR);
@ -126,7 +119,7 @@ void execute(t_cmd *cmd, char **env)
printf("Minishell: open : bad file descriptor\n");
}
else
fdin = dup(tmpin);
fdin = dup(cmd->tmpin);
while (cmd->current_s_cmd)
{
cmd->current_s_cmd->child = 1;
@ -144,7 +137,7 @@ void execute(t_cmd *cmd, char **env)
if (cmd->current_s_cmd->outfile)
fdout = open(cmd->current_s_cmd->outfile, O_RDWR | O_CREAT | O_APPEND, 0666);
else
fdout = dup(tmpout);
fdout = dup(cmd->tmpout);
cmd->current_s_cmd->fd[0] = fdin;
cmd->current_s_cmd->fd[1] = fdout;
if (i == 0 && is_builtin(cmd->current_s_cmd->cmd))
@ -174,9 +167,9 @@ void execute(t_cmd *cmd, char **env)
cmd->current_s_cmd = cmd->s_cmds[i];
}
close_pipe(cmd);
dup2(tmpin, 0);
dup2(tmpout, 1);
close(tmpin);
close(tmpout);
dup2(cmd->tmpin, 0);
dup2(cmd->tmpout, 1);
close(cmd->tmpin);
close(cmd->tmpout);
wait_exit(cmd);
}

View File

@ -6,14 +6,12 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/08 16:58:40 by apommier #+# #+# */
/* Updated: 2022/04/19 12:01:06 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:34:06 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
#include "../../includes/minishell.h"
char **get_path(char **env)
{
int i;

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/08 15:19:42 by apommier #+# #+# */
/* Updated: 2022/04/19 12:01:46 by apommier ### ########.fr */
/* Updated: 2022/04/19 12:35:26 by apommier ### ########.fr */
/* */
/* ************************************************************************** */