diff options
Diffstat (limited to 'src/ft_history.c')
-rw-r--r-- | src/ft_history.c | 27 |
1 files changed, 23 insertions, 4 deletions
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 <stdio.h> #include <fcntl.h> #include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> + +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); |