diff --git a/builtins/echo.c b/builtins/echo.c index 06d4701..1670a05 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/02/17 17:07:50 by erey-bet ### ########.fr */ +/* Updated: 2023/02/21 15:38:53 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -45,11 +45,40 @@ int check_argument(char *str, int *check, int i) return (i); } -int echo(int fd, char *str) -{ - int check; - int i; +char *conca(char **strings) +{ + int len; + char *result; + char *p; + int i; + + i = -1; + while (strings[++i] != NULL) + len += strlen(strings[i]); + result = (char *) malloc(len * 2 + 1); + if (result == NULL) + return NULL; + p = result; + i = 0; + while (strings[i] != NULL) + { + ft_strncpy(p, strings[i], ft_strlen(strings[i])); + ft_strncpy(p, " ", 1); + p += strlen(strings[i]); + i++; + } + return (result); +} + + +int echo(int fd, char **strs) +{ + int check; + int i; + char *str; + + str = conca(strs); check = 0; i = 0; while (is_space(str[i])) diff --git a/minishell.h b/minishell.h index 53889ca..7b222af 100644 --- a/minishell.h +++ b/minishell.h @@ -6,7 +6,7 @@ /* By: cchauvet # include # include +# include # include # include # define DEBUG 0 @@ -60,7 +61,7 @@ char *get_value(char *str); char *get_key(char *str); /* Echo */ -int echo(int fd, char *str); +int echo(int fd, char **strs); /* PWD */ int pwd(int fd); char *get_pwd(int fd);