aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-10-15 14:15:25 +0200
committerCharles <sircharlesaze@gmail.com>2019-10-15 15:01:35 +0200
commitbebdb6929703ebdf9d3f65f19fd29780ac39cab3 (patch)
tree158ced4ccae46cd537ec22e57cb361e1d3e1ebf5
parentf23592ea0c122a0da2723d4253c47ca227529f79 (diff)
downloadlibft-bebdb6929703ebdf9d3f65f19fd29780ac39cab3.tar.gz
libft-bebdb6929703ebdf9d3f65f19fd29780ac39cab3.tar.bz2
libft-bebdb6929703ebdf9d3f65f19fd29780ac39cab3.zip
Removed libft_bonus.h
bonus rule in Makefile remove guard close in libft.h to declare t_list struct and ft_lst* prototypes. Fixed ft_lstclear with recursion.
-rw-r--r--Makefile6
-rw-r--r--ft_lstadd_back_bonus.c2
-rw-r--r--ft_lstadd_front_bonus.c2
-rw-r--r--ft_lstclear_bonus.c16
-rw-r--r--ft_lstdelone_bonus.c2
-rw-r--r--ft_lstiter_bonus.c2
-rw-r--r--ft_lstlast_bonus.c2
-rw-r--r--ft_lstmap_bonus.c2
-rw-r--r--ft_lstnew_bonus.c2
-rw-r--r--ft_lstsize_bonus.c2
-rw-r--r--libft.h20
-rw-r--r--libft_bonus.h28
12 files changed, 36 insertions, 50 deletions
diff --git a/Makefile b/Makefile
index fe48717..d71c8a1 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@
# By: cacharle <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2019/10/08 15:45:53 by cacharle #+# #+# #
-# Updated: 2019/10/09 15:48:10 by cacharle ### ########.fr #
+# Updated: 2019/10/15 14:02:08 by cacharle ### ########.fr #
# #
# **************************************************************************** #
@@ -33,14 +33,14 @@ BONUSSRC = ft_lstadd_back_bonus.c ft_lstadd_front_bonus.c ft_lstclear_bonus.c \
ft_lstdelone_bonus.c ft_lstiter_bonus.c ft_lstlast_bonus.c \
ft_lstmap_bonus.c ft_lstnew_bonus.c ft_lstsize_bonus.c
BONUSOBJ = $(BONUSSRC:.c=.o)
-BONUSINCLUDE = libft_bonus.h
all: $(NAME)
$(NAME): $(OBJ) $(INCLUDE)
$(LIB) $(NAME) $(OBJ)
-bonus: $(OBJ) $(BONUSOBJ) $(INCLUDE) $(BONUSINCLUDE)
+bonus: CCFLAGS += -D LIBFT_BONUS
+bonus: $(OBJ) $(BONUSOBJ) $(INCLUDE)
$(LIB) $(NAME) $(OBJ) $(BONUSOBJ)
%.o: %.c
diff --git a/ft_lstadd_back_bonus.c b/ft_lstadd_back_bonus.c
index 177245b..1cb532b 100644
--- a/ft_lstadd_back_bonus.c
+++ b/ft_lstadd_back_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
void ft_lstadd_back(t_list **alst, t_list *new)
{
diff --git a/ft_lstadd_front_bonus.c b/ft_lstadd_front_bonus.c
index 7fe99de..a29c5c2 100644
--- a/ft_lstadd_front_bonus.c
+++ b/ft_lstadd_front_bonus.c
@@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
-#include "libft_bonus.h"
+#include "libft.h"
void ft_lstadd_front(t_list **alst, t_list *new)
{
diff --git a/ft_lstclear_bonus.c b/ft_lstclear_bonus.c
index f8fad93..b5829c7 100644
--- a/ft_lstclear_bonus.c
+++ b/ft_lstclear_bonus.c
@@ -6,22 +6,18 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/09 09:02:39 by cacharle #+# #+# */
-/* Updated: 2019/10/09 13:30:09 by cacharle ### ########.fr */
+/* Updated: 2019/10/15 14:32:23 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
void ft_lstclear(t_list **lst, void (*del)(void *))
{
- t_list *tmp;
-
- while (*lst != NULL)
- {
- tmp = (*lst)->next;
- ft_lstdelone(*lst, del);
- *lst = tmp;
- }
+ if (*lst == NULL)
+ return ;
+ ft_lstclear(&(*lst)->next, del);
+ ft_lstdelone(*lst, del);
*lst = NULL;
}
diff --git a/ft_lstdelone_bonus.c b/ft_lstdelone_bonus.c
index 8add0f3..820be26 100644
--- a/ft_lstdelone_bonus.c
+++ b/ft_lstdelone_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
void ft_lstdelone(t_list *lst, void (*del)(void *))
{
diff --git a/ft_lstiter_bonus.c b/ft_lstiter_bonus.c
index 132e223..1ab27f5 100644
--- a/ft_lstiter_bonus.c
+++ b/ft_lstiter_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
void ft_lstiter(t_list *lst, void (*f)(t_list *))
{
diff --git a/ft_lstlast_bonus.c b/ft_lstlast_bonus.c
index e3195e8..4246cfc 100644
--- a/ft_lstlast_bonus.c
+++ b/ft_lstlast_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
t_list *ft_lstlast(t_list *lst)
{
diff --git a/ft_lstmap_bonus.c b/ft_lstmap_bonus.c
index 3a0247a..9e80a3b 100644
--- a/ft_lstmap_bonus.c
+++ b/ft_lstmap_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
t_list *ft_lstmap(t_list *lst, t_list *(*f)(t_list *))
{
diff --git a/ft_lstnew_bonus.c b/ft_lstnew_bonus.c
index 826499e..3f6ca38 100644
--- a/ft_lstnew_bonus.c
+++ b/ft_lstnew_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
t_list *ft_lstnew(void const *content)
{
diff --git a/ft_lstsize_bonus.c b/ft_lstsize_bonus.c
index 02503c1..0613c93 100644
--- a/ft_lstsize_bonus.c
+++ b/ft_lstsize_bonus.c
@@ -11,7 +11,7 @@
/* ************************************************************************** */
#include <stdlib.h>
-#include "libft_bonus.h"
+#include "libft.h"
int ft_lstsize(t_list *lst)
{
diff --git a/libft.h b/libft.h
index 8820104..9cc1984 100644
--- a/libft.h
+++ b/libft.h
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:45:02 by cacharle #+# #+# */
-/* Updated: 2019/10/15 07:55:54 by cacharle ### ########.fr */
+/* Updated: 2019/10/15 14:21:27 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,12 +20,16 @@
typedef unsigned char t_byte;
+# ifdef LIBFT_BONUS
+
typedef struct s_list
{
void *content;
struct s_list *next;
} t_list;
+# endif
+
void *ft_memset(void *s, int c, size_t n);
void ft_bzero(void *s, size_t n);
void *ft_memcpy(void *dest, const void *src, size_t n);
@@ -82,4 +86,18 @@ void ft_putstr_fd(char *s, int fd);
void ft_putendl_fd(char *s, int fd);
void ft_putnbr_fd(int n, int fd);
+# ifdef LIBFT_BONUS
+
+t_list *ft_lstnew(void const *content);
+void ft_lstadd_front(t_list **alst, t_list *new);
+int ft_lstsize(t_list *lst);
+t_list *ft_lstlast(t_list *lst);
+void ft_lstadd_back(t_list **alst, t_list *new);
+void ft_lstdelone(t_list *lst, void (*del)(void *));
+void ft_lstclear(t_list **lst, void (*del)(void *));
+void ft_lstiter(t_list *lst, void (*f)(t_list *));
+t_list *ft_lstmap(t_list *lst, t_list *(*f)(t_list *));
+
+# endif
+
#endif
diff --git a/libft_bonus.h b/libft_bonus.h
deleted file mode 100644
index 95487a6..0000000
--- a/libft_bonus.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* ************************************************************************** */
-/* */
-/* ::: :::::::: */
-/* libft_bonus.h :+: :+: :+: */
-/* +:+ +:+ +:+ */
-/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
-/* +#+#+#+#+#+ +#+ */
-/* Created: 2019/10/09 08:58:54 by cacharle #+# #+# */
-/* Updated: 2019/10/15 07:58:09 by cacharle ### ########.fr */
-/* */
-/* ************************************************************************** */
-
-#ifndef LIBFT_BONUS_H
-# define LIBFT_BONUS_H
-
-# include "libft.h"
-
-t_list *ft_lstnew(void const *content);
-void ft_lstadd_front(t_list **alst, t_list *new);
-int ft_lstsize(t_list *lst);
-t_list *ft_lstlast(t_list *lst);
-void ft_lstadd_back(t_list **alst, t_list *new);
-void ft_lstdelone(t_list *lst, void (*del)(void *));
-void ft_lstclear(t_list **lst, void (*del)(void *));
-void ft_lstiter(t_list *lst, void (*f)(t_list *));
-t_list *ft_lstmap(t_list *lst, t_list *(*f)(t_list *));
-
-#endif