From 9f5b079ed0b2d315eab2c1870f7946d58893f0ca Mon Sep 17 00:00:00 2001 From: Rudy Bousset Date: Fri, 1 Nov 2019 15:20:41 +0100 Subject: YO PICKED THE WRONG FOOL, HOUSE --- src/ft_history.c | 27 +++++++++++++++++++++++---- src/main.c | 8 ++++++-- 2 files changed, 29 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/ft_history.c b/src/ft_history.c index 6a82a16..10f683a 100644 --- a/src/ft_history.c +++ b/src/ft_history.c @@ -17,18 +17,37 @@ #include #include #include +#include +#include + +char +*ft_get_last_line(void) +{ + // char *buff; + int fd; + struct stat info; + + if ((fd = open("joe-sh_history", O_CREAT | O_RDWR, 0644)) == -1) + return (NULL); + fstat(fd, &info); + return ("qweqwe"); +} int ft_history(char *arg) { - char c; + char *buff; int fd; - int r; + struct stat info; + if (!*arg) + return (0); if ((fd = open("joe-sh_history", O_CREAT | O_RDWR, 0644)) == -1) return (1); - while ((r = read(fd, &c, 1)) != EOF) - puts(&c); + fstat(fd, &info); + if (!(buff = (char*)malloc(info.st_size * sizeof(char)))) + return (0); + read(fd, buff, info.st_size); ft_putendl_fd(arg, fd); close(fd); return (0); diff --git a/src/main.c b/src/main.c index bbbc92f..cf60fa2 100644 --- a/src/main.c +++ b/src/main.c @@ -24,7 +24,6 @@ int char c; char *arg; uint8_t i; - int ret; i = 0; arg = NULL; @@ -44,11 +43,16 @@ int if (c == '\n') break ; arg[i] = c; + if (!ft_strncmp("", arg, 4)) + { + arg = ft_get_last_line(); + break ; + } i++; } arg[i] = '\0'; ft_history(arg); - ret = ft_process_arg(arg); + ft_process_arg(arg); } free(arg); arg = NULL; -- cgit v1.2.3