/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* heredoc.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cchauvet "); while (line != NULL) { if (ft_strcmp(line, stop) == 0) break ; ft_putendl_fd(line, fds[1]); free(line); line = readline("> "); if (line == NULL) { close(fds[0]); close(fds[1]); return (-1); } } close(fds[1]); return (fds[0]); } int ft_heredoc(char *stop) { int pid; int fd; pid = fork(); if (pid == -1) return (-1); if (pid == 0) { fd = ft_heredoc_creator(stop); exit (fd); } else { *ft_get_heredoc() = pid; waitpid(pid, &fd, 0); } *ft_get_heredoc() = 0; return (fd); }