From 08261b192186b30ad54f2b0188520ed93e71b53f Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Mon, 13 Mar 2023 16:51:56 +0100 Subject: [PATCH] =?UTF-8?q?Je=20ne=20veux=20pas=20d=C3=A9noncer=20mais?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builtins/echo.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/builtins/echo.c b/builtins/echo.c index 730d879..a0caccd 100644 --- a/builtins/echo.c +++ b/builtins/echo.c @@ -6,7 +6,7 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/17 13:09:08 by erey-bet #+# #+# */ -/* Updated: 2023/03/13 16:29:47 by erey-bet ### ########.fr */ +/* Updated: 2023/03/13 16:50:40 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,7 @@ int is_space(char c) || c == '\r' || c == '\n'); } -int check_argument(char *str, int *check) +int check_argument(char *str, int *check_backslash_n) { int i; @@ -27,7 +27,7 @@ int check_argument(char *str, int *check) if (str[i] != '-' && str[i] != 'n') return (1); if (ft_strnstr(str, "n", ft_strlen(str))) - *check = 1; + *check_backslash_n = 1; else return (1); return (0); @@ -35,24 +35,26 @@ int check_argument(char *str, int *check) int echo(int fd, char **strs) { - int check; + int check_backslash_n; + int check_start_write; int i; - check = 0; + check_backslash_n = 0; + check_start_write = 0; i = -1; while (strs[++i]) { while (is_space(*strs[i])) strs[i]++; - if (check == 2 || check_argument(strs[i], &check)) + if (check_start_write == 1 || check_argument(strs[i], &check_backslash_n)) { - check = 2; + check_start_write = 1; ft_putstr_fd(strs[i], fd); if (strs[i + 1] != NULL) write(fd, " ", 1); } } - if (!check) + if (!check_backslash_n) write(fd, "\n", 1); return (0); }