/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* echo.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/17 13:09:08 by erey-bet #+# #+# */ /* Updated: 2023/02/17 16:03:06 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" int is_space(char c) { return (c == ' ' || c == '\f' || c == '\v' || c == '\t' || c == '\r' || c == '\n'); } int check_argument(char *str, int *check, int i) { int y; y = 0; if (str[i] == '-') { while (!is_space(str[i]) || (str[i + 1] == '-' )) { i++; if (is_space(str[i])) { y = i; *check = 1; } else if (str[i] == '-' && str[i - 1] != '-') ; else if (str[i] != 'n') break ; } i = y; while (is_space(str[i])) i++; } return (i); } void echo(int fd, char *str) { int check; int i; check = 0; i = 0; while (is_space(str[i])) i++; i = check_argument(str, &check, i); while (str[i]) ft_putchar_fd(fd, str[i++]); if (!check) write(fd, "\n", 1); }