From 01da2291c835ee40be45d66489760b45b5b3a979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kha=C3=AFs=20COLIN?= Date: Fri, 1 Nov 2024 13:19:52 +0100 Subject: [PATCH] remove some more lines again --- get_next_line.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/get_next_line.c b/get_next_line.c index b03ca8e..36fa31d 100644 --- a/get_next_line.c +++ b/get_next_line.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/10/23 20:32:46 by kcolin #+# #+# */ -/* Updated: 2024/11/01 12:41:32 by kcolin ### ########.fr */ +/* Updated: 2024/11/01 13:17:01 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -79,6 +79,24 @@ int setup_buffers(char **buffer, char **read_buffer) return (0); } +char *prepare_output_buffer(char **buffer, char *read_buffer) +{ + char *outbuf; + + outbuf = malloc((ft_strchr(*buffer, '\n') - *buffer + 2)); + if (outbuf == NULL) + { + free(read_buffer); + free(*buffer); + *buffer = NULL; + return (NULL); + } + ft_strlcpy(outbuf, *buffer, ft_strchr(*buffer, '\n') - *buffer + 2); + *buffer = shorten_buffer(*buffer); + free(read_buffer); + return (outbuf); +} + char *get_next_line(int fd) { static char *buffer = NULL; @@ -92,20 +110,7 @@ char *get_next_line(int fd) while (num_bytes_read != 0) { if (ft_strchr(buffer, '\n')) - { - outbuf = malloc((ft_strchr(buffer, '\n') - buffer + 2)); - if (outbuf == NULL) - { - free(read_buffer); - free(buffer); - buffer = NULL; - return (NULL); - } - ft_strlcpy(outbuf, buffer, ft_strchr(buffer, '\n') - buffer + 2); - buffer = shorten_buffer(buffer); - free(read_buffer); - return (outbuf); - } + return (prepare_output_buffer(&buffer, read_buffer)); num_bytes_read = read(fd, read_buffer, BUFFER_SIZE); if (num_bytes_read < 0) {