From 95ccc46ad62c59e648679acad8b44ba5d4465e3d Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Wed, 8 May 2024 13:14:19 +0200 Subject: Add libft as dir --- libft/get_next_line.c | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 libft/get_next_line.c (limited to 'libft/get_next_line.c') diff --git a/libft/get_next_line.c b/libft/get_next_line.c new file mode 100644 index 0000000..46edb73 --- /dev/null +++ b/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