Compare commits

..

8 Commits

126 changed files with 181 additions and 101 deletions

Binary file not shown.

Binary file not shown.

View File

@ -28,7 +28,8 @@ fclean: clean
make -C libftx fclean
rm -f ${NAME}
re: fclean all
re: fclean
make all
.PHONY: all clean fclean re

BIN
cmd.o

Binary file not shown.

6
cmds.c
View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/15 14:17:26 by cchauvet #+# #+# */
/* Updated: 2023/02/17 13:06:35 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 15:20:29 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -101,10 +101,8 @@ static int ft_cmds_fill(t_list **cmds, t_list **env, const char *line)
return (0);
}
t_list **ft_parse_cmds(char *line, t_list **env)
t_list **ft_parse_cmds(char *line, t_list **env, int infile, int outfile)
{
int infile;
int outfile;
t_list **cmds;
cmds = malloc(sizeof(t_list *));

BIN
cmds.o

Binary file not shown.

BIN
env.o

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/16 16:29:08 by cchauvet #+# #+# */
/* Updated: 2023/02/16 17:49:03 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 13:41:51 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -61,7 +61,6 @@ char *ft_env_filler(t_list **env, const char *str)
if (value == NULL)
return (NULL);
temp = ft_strreplace(out, value, i, y);
i = i + ft_strlen(value) - 1;
free(out);
if (temp == NULL)
{
@ -70,6 +69,7 @@ char *ft_env_filler(t_list **env, const char *str)
}
out = temp;
}
if (out[i] != '\0')
i++;
}
return (out);

Binary file not shown.

View File

@ -70,10 +70,9 @@ static int ft_excutor(t_cmd *cmd, t_list **env)
return (1);
if (pid == 0)
{
//TODO DO THIS
/* tab = t_env2tab(env); */
/* if (tab == NULL) */
/* return (1); */
tab = env_to_strs(env);
if (tab == NULL)
return (1);
tab = NULL;
dup2(cmd->fd_out, 1);
dup2(cmd->fd_in, 0);
@ -107,7 +106,9 @@ int ft_cmds_executor(t_list **cmds, t_list **env)
content->executable = ft_get_executable_path(content->executable, env);
if (content->executable != NULL)
ft_excutor(content, env);
if (content->fd_in != 0)
close(content->fd_in);
if (content->fd_out != 1 && content->fd_out != 2)
close(content->fd_out);
current = current->next;
}

Binary file not shown.

BIN
file.o

Binary file not shown.

View File

@ -1,5 +1,17 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* heredoc.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/17 15:36:26 by cchauvet #+# #+# */
/* Updated: 2023/02/17 16:21:02 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
#include "libftx/libftx.h"
#include "minishell.h"
#include <readline/history.h>
int ft_heredoc(char *stop)
{
@ -15,8 +27,7 @@ int ft_heredoc(char *stop)
free(line);
break ;
}
ft_putstr_fd(line, fds[1]);
add_history(line);
ft_putendl_fd(line, fds[1]);
free(line);
line = readline("> ");
}

BIN
heredoc.o

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/02/15 17:52:10 by cchauvet #+# #+# */
/* Updated: 2023/02/16 17:52:29 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 13:19:09 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -33,6 +33,7 @@ static int ft_infile_is_valid(const char *line)
if (tab[i][0] == '<')
{
ft_eprintf("minishell: %s: must be followed by an infile\n", tab[i]);
ft_freer_tab_ultimate(1, tab);
return (0);
}
ft_freer_tab_ultimate(1, tab);

BIN
infile.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,13 +6,13 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/29 22:23:35 by cchauvet #+# #+# */
/* Updated: 2023/01/05 18:54:54 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:23:01 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_putchar_fd(int fd, char c)
void ft_putchar_fd(char c, int fd)
{
write(fd, &c, 1);
}

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/29 22:26:36 by cchauvet #+# #+# */
/* Updated: 2022/09/29 22:43:19 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:15:07 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/26 14:47:54 by cchauvet #+# #+# */
/* Updated: 2023/01/06 19:34:13 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:22:44 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -47,7 +47,7 @@ char **ft_split(char const *s, char c);
char *ft_itoa(int n);
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
void ft_striteri(char *s, void (*f)(unsigned int, char*));
void ft_putchar_fd(int fd, char c);
void ft_putchar_fd(char c, int fd);
void ft_putstr_fd(char *s, int fd);
void ft_putendl_fd(char *s, int fd);
void ft_putnbr_fd(int n, int fd);

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/26 14:47:54 by cchauvet #+# #+# */
/* Updated: 2023/02/03 12:42:13 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:24:42 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -69,10 +69,10 @@ char **ft_split(char const *s, char c);
char *ft_itoa(int n);
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
void ft_striteri(char *s, void (*f)(unsigned int, char*));
void ft_putchar_fd(int fd, char c);
void ft_putchar_fd(char c, int fd);
void ft_putstr_fd(char *s, int fd);
void ft_putendl_fd(int fd, char *s);
void ft_putnbr_fd(int fd, int n);
void ft_putendl_fd(char *s, int fd);
void ft_putnbr_fd(int n, int fd);
typedef struct s_list
{

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/23 18:08:31 by cchauvet #+# #+# */
/* Updated: 2023/02/03 12:52:38 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:29:56 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -23,13 +23,13 @@ int ft_dprintarg(int fd, int arg, va_list args)
if (arg == 'u')
return (ft_dprintul(fd, va_arg(args, unsigned int)));
if (arg == 'c')
return (ft_putchar_fd(fd, va_arg(args, int)));
return (ft_putchar_fd_p(fd, va_arg(args, int)));
if (arg == 'S')
return (ft_dprintstrtab(fd, va_arg(args, char **)));
if (arg == 's')
return (ft_putstr_fd_p(fd, va_arg(args, char *)));
if (arg == '%')
return (ft_putchar_fd(fd, '%'));
return (ft_putchar_fd_p(fd, '%'));
if (arg == 'p')
return (ft_dprintptr(fd, va_arg(args, void *)));
return (0);

Binary file not shown.

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/10 03:26:21 by cchauvet #+# #+# */
/* Updated: 2022/10/21 15:54:31 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:30:25 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -23,7 +23,7 @@ int ft_dprintl_base(int fd, long long int n, char *base)
if (n < 0)
{
nb = -n;
i += ft_putchar_fd(fd, '-');
i += ft_putchar_fd_p(fd, '-');
}
else
nb = n;

Binary file not shown.

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angouleme.fr +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/05 17:26:55 by cchauvet #+# #+# */
/* Updated: 2023/02/03 12:54:44 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:30:44 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -22,7 +22,7 @@ int ft_dprintstrtab(int fd, char **tab)
while (tab[index] != NULL)
{
i += ft_putstr_fd_p(fd, tab[index]) + 1;
ft_putchar_fd(fd, '\n');
ft_putchar_fd_p(fd, '\n');
index++;
}
return (i);

Binary file not shown.

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/29 13:49:45 by cchauvet #+# #+# */
/* Updated: 2022/10/23 14:23:44 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:31:15 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -73,9 +73,9 @@ int ft_dprintul_base(int fd, unsigned long long n, char *base)
if (n > base_size - 1)
{
ft_dprintul_base(fd, n / base_size, base);
ft_putchar_fd(fd, base[n % base_size]);
ft_putchar_fd_p(fd, base[n % base_size]);
}
else
ft_putchar_fd(fd, base[n]);
ft_putchar_fd_p(fd, base[n]);
return (str_size - 1);
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/26 14:47:54 by cchauvet #+# #+# */
/* Updated: 2023/02/03 12:51:07 by cchauvet ### ########.fr */
/* Updated: 2023/02/17 16:29:18 by cchauvet ### ########.fr */
/* */
/* ************************************************************************** */
@ -36,7 +36,7 @@ int ft_eprintf(const char *format, ...);
int ft_vdprintf(int fd, const char *format, va_list va);
int ft_putchar_fd(int fd, char c);
int ft_putchar_fd_p(int fd, char c);
int ft_putstr_fd_p(int fd, char *str);
#endif

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More