Compare commits
8 Commits
38e1b9834f
...
camille
Author | SHA1 | Date | |
---|---|---|---|
daaa9dea51 | |||
fa37938073 | |||
7bec120312 | |||
6090784c02 | |||
d4cead2b0f | |||
61cd1209ff | |||
6ecb66a60e | |||
642af26133 |
BIN
.cmds.c.swp
BIN
.cmds.c.swp
Binary file not shown.
BIN
.env_fill.c.swp
BIN
.env_fill.c.swp
Binary file not shown.
3
Makefile
3
Makefile
@ -28,7 +28,8 @@ fclean: clean
|
|||||||
make -C libftx fclean
|
make -C libftx fclean
|
||||||
rm -f ${NAME}
|
rm -f ${NAME}
|
||||||
|
|
||||||
re: fclean all
|
re: fclean
|
||||||
|
make all
|
||||||
|
|
||||||
.PHONY: all clean fclean re
|
.PHONY: all clean fclean re
|
||||||
|
|
||||||
|
6
cmds.c
6
cmds.c
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/15 14:17:26 by cchauvet #+# #+# */
|
/* 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);
|
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;
|
t_list **cmds;
|
||||||
|
|
||||||
cmds = malloc(sizeof(t_list *));
|
cmds = malloc(sizeof(t_list *));
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/16 16:29:08 by cchauvet #+# #+# */
|
/* 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)
|
if (value == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
temp = ft_strreplace(out, value, i, y);
|
temp = ft_strreplace(out, value, i, y);
|
||||||
i = i + ft_strlen(value) - 1;
|
|
||||||
free(out);
|
free(out);
|
||||||
if (temp == NULL)
|
if (temp == NULL)
|
||||||
{
|
{
|
||||||
@ -70,7 +69,8 @@ char *ft_env_filler(t_list **env, const char *str)
|
|||||||
}
|
}
|
||||||
out = temp;
|
out = temp;
|
||||||
}
|
}
|
||||||
i++;
|
if (out[i] != '\0')
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
return (out);
|
return (out);
|
||||||
}
|
}
|
||||||
|
BIN
env_fill.o
BIN
env_fill.o
Binary file not shown.
13
execution.c
13
execution.c
@ -70,10 +70,9 @@ static int ft_excutor(t_cmd *cmd, t_list **env)
|
|||||||
return (1);
|
return (1);
|
||||||
if (pid == 0)
|
if (pid == 0)
|
||||||
{
|
{
|
||||||
//TODO DO THIS
|
tab = env_to_strs(env);
|
||||||
/* tab = t_env2tab(env); */
|
if (tab == NULL)
|
||||||
/* if (tab == NULL) */
|
return (1);
|
||||||
/* return (1); */
|
|
||||||
tab = NULL;
|
tab = NULL;
|
||||||
dup2(cmd->fd_out, 1);
|
dup2(cmd->fd_out, 1);
|
||||||
dup2(cmd->fd_in, 0);
|
dup2(cmd->fd_in, 0);
|
||||||
@ -107,8 +106,10 @@ int ft_cmds_executor(t_list **cmds, t_list **env)
|
|||||||
content->executable = ft_get_executable_path(content->executable, env);
|
content->executable = ft_get_executable_path(content->executable, env);
|
||||||
if (content->executable != NULL)
|
if (content->executable != NULL)
|
||||||
ft_excutor(content, env);
|
ft_excutor(content, env);
|
||||||
close(content->fd_in);
|
if (content->fd_in != 0)
|
||||||
close(content->fd_out);
|
close(content->fd_in);
|
||||||
|
if (content->fd_out != 1 && content->fd_out != 2)
|
||||||
|
close(content->fd_out);
|
||||||
current = current->next;
|
current = current->next;
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
|
BIN
execution.o
BIN
execution.o
Binary file not shown.
17
heredoc.c
17
heredoc.c
@ -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 "minishell.h"
|
||||||
#include <readline/history.h>
|
|
||||||
|
|
||||||
int ft_heredoc(char *stop)
|
int ft_heredoc(char *stop)
|
||||||
{
|
{
|
||||||
@ -15,8 +27,7 @@ int ft_heredoc(char *stop)
|
|||||||
free(line);
|
free(line);
|
||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
ft_putstr_fd(line, fds[1]);
|
ft_putendl_fd(line, fds[1]);
|
||||||
add_history(line);
|
|
||||||
free(line);
|
free(line);
|
||||||
line = readline("> ");
|
line = readline("> ");
|
||||||
}
|
}
|
||||||
|
3
infile.c
3
infile.c
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/15 17:52:10 by cchauvet #+# #+# */
|
/* 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] == '<')
|
if (tab[i][0] == '<')
|
||||||
{
|
{
|
||||||
ft_eprintf("minishell: %s: must be followed by an infile\n", tab[i]);
|
ft_eprintf("minishell: %s: must be followed by an infile\n", tab[i]);
|
||||||
|
ft_freer_tab_ultimate(1, tab);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
ft_freer_tab_ultimate(1, tab);
|
ft_freer_tab_ultimate(1, tab);
|
||||||
|
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.
@ -6,13 +6,13 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/09/29 22:23:35 by cchauvet #+# #+# */
|
/* 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"
|
#include "libft.h"
|
||||||
|
|
||||||
void ft_putchar_fd(int fd, char c)
|
void ft_putchar_fd(char c, int fd)
|
||||||
{
|
{
|
||||||
write(fd, &c, 1);
|
write(fd, &c, 1);
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/09/29 22:26:36 by cchauvet #+# #+# */
|
/* 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.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/09/26 14:47:54 by cchauvet #+# #+# */
|
/* 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_itoa(int n);
|
||||||
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
|
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
|
||||||
void ft_striteri(char *s, void (*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_putstr_fd(char *s, int fd);
|
||||||
void ft_putendl_fd(char *s, int fd);
|
void ft_putendl_fd(char *s, int fd);
|
||||||
void ft_putnbr_fd(int n, int fd);
|
void ft_putnbr_fd(int n, int fd);
|
||||||
|
BIN
libftx/libftx.a
BIN
libftx/libftx.a
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/09/26 14:47:54 by cchauvet #+# #+# */
|
/* 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_itoa(int n);
|
||||||
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
|
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
|
||||||
void ft_striteri(char *s, void (*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_putstr_fd(char *s, int fd);
|
||||||
void ft_putendl_fd(int fd, char *s);
|
void ft_putendl_fd(char *s, int fd);
|
||||||
void ft_putnbr_fd(int fd, int n);
|
void ft_putnbr_fd(int n, int fd);
|
||||||
|
|
||||||
typedef struct s_list
|
typedef struct s_list
|
||||||
{
|
{
|
||||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/23 18:08:31 by cchauvet #+# #+# */
|
/* 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')
|
if (arg == 'u')
|
||||||
return (ft_dprintul(fd, va_arg(args, unsigned int)));
|
return (ft_dprintul(fd, va_arg(args, unsigned int)));
|
||||||
if (arg == 'c')
|
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')
|
if (arg == 'S')
|
||||||
return (ft_dprintstrtab(fd, va_arg(args, char **)));
|
return (ft_dprintstrtab(fd, va_arg(args, char **)));
|
||||||
if (arg == 's')
|
if (arg == 's')
|
||||||
return (ft_putstr_fd_p(fd, va_arg(args, char *)));
|
return (ft_putstr_fd_p(fd, va_arg(args, char *)));
|
||||||
if (arg == '%')
|
if (arg == '%')
|
||||||
return (ft_putchar_fd(fd, '%'));
|
return (ft_putchar_fd_p(fd, '%'));
|
||||||
if (arg == 'p')
|
if (arg == 'p')
|
||||||
return (ft_dprintptr(fd, va_arg(args, void *)));
|
return (ft_dprintptr(fd, va_arg(args, void *)));
|
||||||
return (0);
|
return (0);
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/10 03:26:21 by cchauvet #+# #+# */
|
/* 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)
|
if (n < 0)
|
||||||
{
|
{
|
||||||
nb = -n;
|
nb = -n;
|
||||||
i += ft_putchar_fd(fd, '-');
|
i += ft_putchar_fd_p(fd, '-');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
nb = n;
|
nb = n;
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angouleme.fr +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angouleme.fr +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/01/05 17:26:55 by cchauvet #+# #+# */
|
/* 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)
|
while (tab[index] != NULL)
|
||||||
{
|
{
|
||||||
i += ft_putstr_fd_p(fd, tab[index]) + 1;
|
i += ft_putstr_fd_p(fd, tab[index]) + 1;
|
||||||
ft_putchar_fd(fd, '\n');
|
ft_putchar_fd_p(fd, '\n');
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
return (i);
|
return (i);
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/09/29 13:49:45 by cchauvet #+# #+# */
|
/* 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)
|
if (n > base_size - 1)
|
||||||
{
|
{
|
||||||
ft_dprintul_base(fd, n / base_size, base);
|
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
|
else
|
||||||
ft_putchar_fd(fd, base[n]);
|
ft_putchar_fd_p(fd, base[n]);
|
||||||
return (str_size - 1);
|
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.
@ -6,7 +6,7 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/09/26 14:47:54 by cchauvet #+# #+# */
|
/* 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_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);
|
int ft_putstr_fd_p(int fd, char *str);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user