From b5a957f5a41f50043fb679a3a0eceec1eae4d8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kha=C3=AFs=20COLIN?= Date: Fri, 1 Nov 2024 13:27:44 +0100 Subject: [PATCH] remove final lines --- get_next_line.c | 30 +++++++++++++++++------------- get_next_line_utils.c | 4 ++-- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/get_next_line.c b/get_next_line.c index 36fa31d..282814e 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 13:17:01 by kcolin ### ########.fr */ +/* Updated: 2024/11/01 13:26:41 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,7 +16,7 @@ char *ft_strchr(const char *s, int c); size_t ft_strlen(const char *s); size_t ft_strlcpy(char *dst, const char *src, size_t size); -char *ft_strjoin_free_s1(char const *s1, char const *s2); +char *ft_strjoin_and_free_originals(char const *s1, char const *s2); /* static int num_allocs = 0; @@ -97,12 +97,24 @@ char *prepare_output_buffer(char **buffer, char *read_buffer) return (outbuf); } +char *cleanup(char **buffer, char *read_buffer) +{ + free(read_buffer); + read_buffer = *buffer; + if (ft_strlen(*buffer) == 0) + { + free(*buffer); + read_buffer = NULL; + } + *buffer = NULL; + return (read_buffer); +} + char *get_next_line(int fd) { static char *buffer = NULL; char *read_buffer; int num_bytes_read; - char *outbuf; if (setup_buffers(&buffer, &read_buffer) != 0) return (NULL); @@ -120,17 +132,9 @@ char *get_next_line(int fd) return (NULL); } read_buffer[num_bytes_read] = '\0'; - buffer = ft_strjoin_free_s1(buffer, read_buffer); + buffer = ft_strjoin_and_free_originals(buffer, read_buffer); if (buffer == NULL) return (NULL); } - free(read_buffer); - outbuf = buffer; - if (ft_strlen(buffer) == 0) - { - free(buffer); - outbuf = NULL; - } - buffer = NULL; - return (outbuf); + return (cleanup(&buffer, read_buffer)); } diff --git a/get_next_line_utils.c b/get_next_line_utils.c index 606f561..4872487 100644 --- a/get_next_line_utils.c +++ b/get_next_line_utils.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/11/01 12:31:58 by kcolin #+# #+# */ -/* Updated: 2024/11/01 12:32:00 by kcolin ### ########.fr */ +/* Updated: 2024/11/01 12:37:32 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -84,7 +84,7 @@ size_t ft_strlcat(char *dst, const char *src, size_t size) return (dst_len + src_len); } -char *ft_strjoin_free_s1(char const *s1, char const *s2) +char *ft_strjoin_and_free_originals(char const *s1, char const *s2) { char *out; size_t len;