62 lines
844 B
C
62 lines
844 B
C
#include "pipex.h"
|
|
|
|
char *read_file(int fd)
|
|
{
|
|
char *str;
|
|
int len;
|
|
int old_len;
|
|
|
|
str = get_next_line(fd);
|
|
len = ft_strlen(str);
|
|
old_len = 0;
|
|
while (len != old_len)
|
|
{
|
|
old_len = len;
|
|
str = ft_strjoin_free(str, get_next_line(fd), 2);
|
|
len = ft_strlen(str);
|
|
}
|
|
str[len] = '\0';
|
|
return (str);
|
|
}
|
|
|
|
int parsing(char *argv[], t_data *data)
|
|
{
|
|
int fd1;
|
|
int fd2;
|
|
fd2 = open(argv[4], O_WRONLY | O_TRUNC | O_CREAT);
|
|
if (fd2 < 0)
|
|
return (-1);
|
|
fd1 = open(argv[1], O_RDONLY);
|
|
if (fd1 < 0)
|
|
{
|
|
close(fd2);
|
|
return (-1);
|
|
}
|
|
data->cmd1 = argv[2];
|
|
data->cmd2 = argv[3];
|
|
data->fl1 = read_file(fd1);
|
|
close(fd1);
|
|
return (0);
|
|
}
|
|
|
|
void pipex(t_data data)
|
|
{
|
|
int fd[2]
|
|
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
t_data data;
|
|
|
|
if (argc < 5)
|
|
return (1);
|
|
if (parsing(argv, &data))
|
|
return (2);
|
|
|
|
pipex(data);
|
|
free(data.fl1);
|
|
return (0);
|
|
}
|
|
|