summaryrefslogtreecommitdiffstats
path: root/src/ft_history.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_history.c')
-rw-r--r--src/ft_history.c123
1 files changed, 0 insertions, 123 deletions
diff --git a/src/ft_history.c b/src/ft_history.c
deleted file mode 100644
index 936b9a2..0000000
--- a/src/ft_history.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* ************************************************************************** */
-/* LE - / */
-/* / */
-/* ft_history.c .:: .:/ . .:: */
-/* +:+:+ +: +: +:+:+ */
-/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */
-/* #+# #+ #+ #+# */
-/* Created: 2019/10/30 20:36:05 by rbousset #+# ## ## #+# */
-/* Updated: 2019/10/30 20:36:07 by rbousset ### #+. /#+ ###.fr */
-/* / */
-/* / */
-/* ************************************************************************** */
-
-#include <libft.h>
-#include <minishell.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-static size_t
-ft_count_lines(int fd)
-{
- char c;
- size_t lines;
-
- lines = 0;
- while (read(fd, &c, 1) > 0)
- if (c == '\n')
- lines++;
- return (lines);
-}
-
-static size_t
-ft_last_line_len(int fd, size_t lines_max)
-{
- char c;
- size_t len;
- size_t lines;
-
- len = 0;
- lines = 0;
- while (read(fd, &c, 1) > 0)
- {
- if (c == '\n')
- lines++;
- if (lines == lines_max - 1)
- break ;
- }
- while (read(fd, &c, 1) > 0)
- len++;
- return (len);
-}
-
-
-char
-*ft_get_last_line(void)
-{
- char *line;
- char c;
- int fd;
- size_t lines;
- size_t i;
-
- if ((fd = open("joe-sh_history", O_CREAT | O_RDWR, 0644)) == -1)
- return (NULL);
- i = 0;
- lines = ft_count_lines(fd);
- close(fd);
- if ((fd = open("joe-sh_history", O_CREAT | O_RDWR, 0644)) == -1)
- return (NULL);
- if (!(line = (char*)malloc(ft_last_line_len(fd, lines) * sizeof(char))))
- return (NULL);
- close(fd);
- if ((fd = open("joe-sh_history", O_CREAT | O_RDWR, 0644)) == -1)
- return (NULL);
- while (read(fd, &c, 1) > 0)
- {
- if (c == '\n')
- i++;
- if (i == lines - 1)
- break ;
- }
- i = 0;
- while (read(fd, &c, 1) > 0)
- {
- line[i] = c;
- i++;
- }
- line[i - 1] = '\0';
- close(fd);
- return (line);
-}
-
-/*
-** Prints user-given line into
-** joe-sh_hisotry file
-*/
-
-int
-ft_history(char *arg)
-{
- char *buff;
- int fd;
- int ret;
- struct stat info;
-
- if (!*arg)
- return (0);
- if ((fd = open("joe-sh_history", O_CREAT | O_RDWR, 0644)) == -1)
- return (1);
- fstat(fd, &info);
- if (!(buff = (char*)malloc(info.st_size * sizeof(char))))
- return (0);
- ret = read(fd, buff, info.st_size);
- ft_putendl_fd(arg, fd);
- free(buff);
- close(fd);
- return (ret);
-}