From a28e57c6e0277a1d7346bec58cf557c52e337501 Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Mon, 24 Jun 2024 16:58:46 +0200 Subject: Add libft --- lib/libft/get_next_line.c | 84 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 lib/libft/get_next_line.c (limited to 'lib/libft/get_next_line.c') diff --git a/lib/libft/get_next_line.c b/lib/libft/get_next_line.c new file mode 100644 index 0000000..46edb73 --- /dev/null +++ b/lib/libft/get_next_line.c @@ -0,0 +1,84 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dkaiser 0) + get_next_line_rec(fd, buf, result, 0); + } +} + +char *get_next_line(int fd) +{ + static char buf[BUFFER_SIZE]; + int i; + char *result; + int readlen; + + i = 0; + readlen = 0; + result = NULL; + while (i < BUFFER_SIZE && !buf[i]) + i++; + if (i == BUFFER_SIZE) + { + readlen = read(fd, buf, BUFFER_SIZE); + if (readlen < 0) + clear_buffer(buf, 0); + else if (readlen > 0) + return (get_next_line(fd)); + return (NULL); + } + get_next_line_rec(fd, buf, &result, i); + return (result); +} -- cgit v1.2.3