diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ft_exec.c | 5 | ||||
-rw-r--r-- | src/ft_history.c | 17 | ||||
-rw-r--r-- | src/main.c | 2 |
3 files changed, 19 insertions, 5 deletions
diff --git a/src/ft_exec.c b/src/ft_exec.c index 7177f5b..31fcaf2 100644 --- a/src/ft_exec.c +++ b/src/ft_exec.c @@ -10,9 +10,6 @@ ft_exec(char **app) i = 0; while (app[i]) i++; - if (i < 2) - return (execve(app[0] + 2, NULL, NULL)); - else - return (execve(app[0] + 2, &app[1], NULL)); + return (execve(app[0] + 2, app, NULL)); return (0); } diff --git a/src/ft_history.c b/src/ft_history.c new file mode 100644 index 0000000..fa28100 --- /dev/null +++ b/src/ft_history.c @@ -0,0 +1,17 @@ +#include <libft.h> +#include <minishell.h> +#include <fcntl.h> +#include <unistd.h> + +int +ft_history(const char *arg) +{ + int fd; + int ret; + + if ((fd = open("joe-sh_history", O_RDWR | O_CREAT)) == -1) + return (1); + ret = write(1, arg + "\n", ft_strlen(arg) + 1); + close(fd); + return (ret); +} @@ -30,7 +30,7 @@ int arg = NULL; while (1) { - write(1, "joe-sh~> ", 9); + ft_putstr(FT_PS1); if (arg) { free(arg); |