From cb2edb6a2b4d502efb0128319f788368165d07b4 Mon Sep 17 00:00:00 2001 From: David Gailleton Date: Mon, 10 Nov 2025 11:27:35 +0100 Subject: [PATCH] Fix every malloc error --- Makefile | 7 ++----- ft_lstmap.c | 13 ++++++++----- ft_putnbr_fd.c | 4 ++-- ft_split.c | 8 +++----- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 65ef15c..dbfeb1d 100644 --- a/Makefile +++ b/Makefile @@ -70,14 +70,11 @@ $(NAME): $(OBJ) $(AR) $(ARFLAGS) $(NAME) $(OBJ) ranlib $(NAME) -$(OBJ_DIR)/%.o: %.c | $(OBJ_DIR) +$(OBJ_DIR)/%.o: %.c $(CC) -o $@ -c $< $(CFLAGS) -I$(HEADER) -$(OBJ_DIR): - mkdir $@ - clean: - rm -f $(OBJ) + rm -f $(OBJ) $(BONUS_OBJ) fclean: clean rm -f $(NAME) diff --git a/ft_lstmap.c b/ft_lstmap.c index 855df27..30e6eb4 100644 --- a/ft_lstmap.c +++ b/ft_lstmap.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/09 15:54:38 by dgaillet #+# #+# */ -/* Updated: 2025/11/09 16:42:23 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/10 11:22:19 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -15,20 +15,23 @@ t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) { t_list *new_lst; - t_list *temp; + t_list *temp_lst; + void *temp_content; if (!lst) return (NULL); new_lst = NULL; while (lst) { - temp = ft_lstnew(f(lst->content)); - if (!temp) + temp_content = f(lst->content); + temp_lst = ft_lstnew(temp_content); + if (!temp_lst) { + del(temp_content); ft_lstclear(&new_lst, del); return (NULL); } - ft_lstadd_back(&new_lst, temp); + ft_lstadd_back(&new_lst, temp_lst); lst = lst->next; } return (new_lst); diff --git a/ft_putnbr_fd.c b/ft_putnbr_fd.c index d7076cf..d1ce611 100644 --- a/ft_putnbr_fd.c +++ b/ft_putnbr_fd.c @@ -6,13 +6,13 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/08 17:50:35 by dgaillet #+# #+# */ -/* Updated: 2025/11/08 17:57:02 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/10 10:58:21 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include "libft.h" -void write_nbr(unsigned int n, int fd) +static void write_nbr(unsigned int n, int fd) { if (n) { diff --git a/ft_split.c b/ft_split.c index e52136f..8c56b96 100644 --- a/ft_split.c +++ b/ft_split.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/06 17:02:58 by dgaillet #+# #+# */ -/* Updated: 2025/11/09 20:29:25 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/10 11:09:15 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -33,7 +33,7 @@ static int next_match(char *str, unsigned char c) int i; i = 0; - while (str[i] != c) + while (str[i] && str[i] != c) i++; return (i); } @@ -66,8 +66,6 @@ char **ft_split(char const *s, char c) { if ((s[j] != c && j == 0) || (s[j] != c && s[j - 1] == c)) { - if (s[j] == c) - j++; strs[i] = ft_substr(&s[j], 0, next_match((char *) &s[j], c)); if (!strs[i]) return (clear_strs(strs), NULL); @@ -85,7 +83,7 @@ int main(void) char **strs; int i; - strs = ft_split("--1-2--3---4----5-----42", ' '); + strs = ft_split("---------1-2--3---4----5-----42----", ' '); i = 0; while (strs[i]) {