From 0f4140fb0c00d45c2aead6bd6795f81e3aa576bf Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Sun, 26 Mar 2023 22:34:58 +0200 Subject: [PATCH] =?UTF-8?q?MA=20VIE=20N'EST=20QU'UN=20D=C3=89SASTRE=20AMBU?= =?UTF-8?q?LANT=20AIDER=20MOI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bonus/pipex_bonus.c | 4 ++-- bonus/pipex_heredoc_bonus.c | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bonus/pipex_bonus.c b/bonus/pipex_bonus.c index 1778229..e68e4ac 100644 --- a/bonus/pipex_bonus.c +++ b/bonus/pipex_bonus.c @@ -6,7 +6,7 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/03/20 09:48:45 by erey-bet #+# #+# */ -/* Updated: 2023/03/23 17:15:05 by erey-bet ### ########.fr */ +/* Updated: 2023/03/26 21:52:53 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -102,7 +102,7 @@ int main(int argc, char *argv[], char **env) { argc = argc - 1; if (here_doc(argc, argv, env, &data)) - return (free_all(&data)); + return (1); } else if (parsing(argc, argv, env, &data)) return (1); diff --git a/bonus/pipex_heredoc_bonus.c b/bonus/pipex_heredoc_bonus.c index c4493a8..af9b10b 100644 --- a/bonus/pipex_heredoc_bonus.c +++ b/bonus/pipex_heredoc_bonus.c @@ -6,7 +6,7 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/14 11:22:13 by erey-bet #+# #+# */ -/* Updated: 2023/03/20 09:58:51 by erey-bet ### ########.fr */ +/* Updated: 2023/03/26 21:53:29 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,6 +16,7 @@ int parsing_here_doc(int argc, char *argv[], t_data *data) { int i; + data->argc = argc; data->fd2 = open(argv[argc], O_WRONLY | O_APPEND | O_CREAT, 0644); if (data->fd2 < 0) { @@ -23,12 +24,18 @@ int parsing_here_doc(int argc, char *argv[], t_data *data) return (print_error(0, argv[argc])); } data->cmds = ft_calloc(argc - 2, sizeof(char *)); + if (!data->cmds) + return (1); data->flgs = ft_calloc(argc - 2, sizeof(char *)); + if (!data->cmds) + return (free_all(data)); i = -1; while (++i < argc - 3) { data->cmds[i] = get_command(argv[3 + i]); data->flgs[i] = ft_split(argv[3 + i], ' '); + if (!data->cmds[i] || !data->flgs[i]) + return (free_all(data)); } return (0); }