From f7f39c0b240767c5f6f55313d71ff3d88edd70df Mon Sep 17 00:00:00 2001 From: arthur Date: Thu, 21 May 2020 12:56:06 +0200 Subject: [PATCH] integration of basic echo --- Makefile | 1 + include/builtin.h | 1 + src/builtin/builtin_echo.c | 25 +++++++++++++++++++++++++ src/prompt.c | 1 + 4 files changed, 28 insertions(+) create mode 100644 src/builtin/builtin_echo.c diff --git a/Makefile b/Makefile index 45cb4f4..c304aa6 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ SRC = src/shell.c \ src/builtin/builtin_where.c \ src/builtin/builtin_alias.c \ src/builtin/builtin_unalias.c \ + src/builtin/builtin_echo.c \ src/signal.c \ src/free_env.c \ src/utility/same_var.c \ diff --git a/include/builtin.h b/include/builtin.h index 3d1d673..2ce7d3d 100644 --- a/include/builtin.h +++ b/include/builtin.h @@ -28,6 +28,7 @@ int builtin_source(char **argv, env_t *env); int builtin_history(char **args, env_t *env); int builtin_alias(char **args, env_t *env); int builtin_unalias(char **args, env_t *env); +int builtin_echo(char **args, env_t *env); //utility bool find_path_in_builtins(char *cmd); char **get_envpath(env_t *env); diff --git a/src/builtin/builtin_echo.c b/src/builtin/builtin_echo.c new file mode 100644 index 0000000..e57e73a --- /dev/null +++ b/src/builtin/builtin_echo.c @@ -0,0 +1,25 @@ +/* +** EPITECH PROJECT, 2020 +** builtin_echo.c +** File description: +** builtin_echo +*/ + +#include "builtin.h" +#include +#include +#include +#include + +int builtin_echo(char **argv, env_t *env) +{ + for (int i = 1; argv[i]; i++) { + printf("%s", argv[i]); + if (argv[i + 1]) + printf(" "); + } + printf("\n"); + fflush(stdout); + env->vars = my_setenv(env->vars, "?", "0"); + return (0); +} \ No newline at end of file diff --git a/src/prompt.c b/src/prompt.c index e6b7efe..f2c147b 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -27,6 +27,7 @@ const builtin builtins[] = { {"source", &builtin_source}, {"alias", &builtin_alias}, {"unalias", &builtin_unalias}, + {"echo", &builtin_echo}, {NULL, NULL} };