From 01b559a96f801c62dabf3064963c8f6d9aee89f2 Mon Sep 17 00:00:00 2001 From: cubernetes Date: Mon, 26 Jun 2023 20:46:24 +0200 Subject: [PATCH] AHHHHHHHHHHHHHHHHHHHHHHHHHHHHH --- Makefile | 14 +++++++------- a.out | Bin 0 -> 23264 bytes ft_lstadd_back.c | 28 ++++++++++++++++++++++++++++ ft_lstadd_front.c | 12 +++++------- ft_lstclear | 0 ft_lstclear.c | 29 +++++++++++++++++++++++++++++ ft_lstdelone.c | 20 ++++++++++++++++++++ ft_lstiter.c | 22 ++++++++++++++++++++++ ft_lstlast.c | 22 ++++++++++++++++++++++ ft_lstmap.c | 42 ++++++++++++++++++++++++++++++++++++++++++ ft_lstnew.c | 5 +++-- ft_lstsize.c | 26 ++++++++++++++++++++++++++ ft_strlcat.c | 34 +++------------------------------- libft.h | 9 ++++++++- 14 files changed, 215 insertions(+), 48 deletions(-) create mode 100755 a.out delete mode 100644 ft_lstclear create mode 100644 ft_lstclear.c diff --git a/Makefile b/Makefile index e0a97bc..76359d5 100644 --- a/Makefile +++ b/Makefile @@ -48,13 +48,13 @@ _SRC += ft_strmapi.c _SRC += ft_lstnew.c _SRC += ft_lstadd_front.c -# _SRC += ft_lstadd_back.c -# _SRC += ft_lstclear -# _SRC += ft_lstdelone.c -# _SRC += ft_lstiter.c -# _SRC += ft_lstlast.c -# _SRC += ft_lstmap.c -# _SRC += ft_lstsize.c +_SRC += ft_lstsize.c +_SRC += ft_lstlast.c +_SRC += ft_lstadd_back.c +_SRC += ft_lstclear.c +_SRC += ft_lstdelone.c +_SRC += ft_lstiter.c +_SRC += ft_lstmap.c _SRC += ft_char_in_charset.c _SRC += ft_isspace.c diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..899bc185325a836a282c186caa91bb24a8b8fd9f GIT binary patch literal 23264 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 D6Ocks literal 0 HcmV?d00001 diff --git a/ft_lstadd_back.c b/ft_lstadd_back.c index e69de29..e2cef0e 100644 --- a/ft_lstadd_back.c +++ b/ft_lstadd_back.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstadd_back.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 16:29:20 by tosuman #+# #+# */ +/* Updated: 2023/06/24 16:38:53 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_lstadd_back(t_list **lst, t_list *new) +{ + t_list *last; + + if (!lst) + return ; + if (!*lst) + { + *lst = new; + return ; + } + last = ft_lstlast(*lst); + last->next = new; +} diff --git a/ft_lstadd_front.c b/ft_lstadd_front.c index e8c412f..84ea40e 100644 --- a/ft_lstadd_front.c +++ b/ft_lstadd_front.c @@ -6,7 +6,7 @@ /* By: tosuman +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/14 11:57:15 by tosuman #+# #+# */ -/* Updated: 2023/06/14 11:57:15 by tosuman ### ########.fr */ +/* Updated: 2023/06/24 16:38:36 by tosuman ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,10 +14,8 @@ void ft_lstadd_front(t_list **lst, t_list *new) { - if (lst) - { - if (*lst) - new->next = *lst; - *lst = new; - } + if (!lst) + return ; + new->next = *lst; + *lst = new; } diff --git a/ft_lstclear b/ft_lstclear deleted file mode 100644 index e69de29..0000000 diff --git a/ft_lstclear.c b/ft_lstclear.c new file mode 100644 index 0000000..e593f3b --- /dev/null +++ b/ft_lstclear.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstclear.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 16:47:41 by tosuman #+# #+# */ +/* Updated: 2023/06/24 17:06:04 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" +#include + +void ft_lstclear(t_list **lst, void (*del)(void *)) +{ + t_list *tmp; + + if (!lst || !del) + return ; + tmp = *lst; + while (tmp) + { + *lst = tmp->next; + ft_lstdelone(tmp, del); + tmp = *lst; + } +} diff --git a/ft_lstdelone.c b/ft_lstdelone.c index e69de29..c1f1ba4 100644 --- a/ft_lstdelone.c +++ b/ft_lstdelone.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstdelone.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 16:44:13 by tosuman #+# #+# */ +/* Updated: 2023/06/24 16:45:34 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" +#include + +void ft_lstdelone(t_list *lst, void (*del)(void *)) +{ + del(lst->content); + free(lst); +} diff --git a/ft_lstiter.c b/ft_lstiter.c index e69de29..472aa88 100644 --- a/ft_lstiter.c +++ b/ft_lstiter.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstiter.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 16:57:28 by tosuman #+# #+# */ +/* Updated: 2023/06/24 17:26:38 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_lstiter(t_list *lst, void (*f)(void *)) +{ + while (lst) + { + (*f)(lst->content); + lst = lst->next; + } +} diff --git a/ft_lstlast.c b/ft_lstlast.c index e69de29..35b8ce5 100644 --- a/ft_lstlast.c +++ b/ft_lstlast.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstlast.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 16:26:09 by tosuman #+# #+# */ +/* Updated: 2023/06/24 16:28:25 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +t_list *ft_lstlast(t_list *lst) +{ + if (!lst) + return (lst); + while (lst->next) + lst = lst->next; + return (lst); +} diff --git a/ft_lstmap.c b/ft_lstmap.c index e69de29..2f071b3 100644 --- a/ft_lstmap.c +++ b/ft_lstmap.c @@ -0,0 +1,42 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstmap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 17:10:04 by tosuman #+# #+# */ +/* Updated: 2023/06/26 20:32:34 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" +#include + +t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) +{ + t_list *new_lst; + t_list *new_elem; + + if (!lst || !f) + return (0); + new_lst = (void *)0; + while (lst) + { + new_elem = ft_lstnew(f(lst->content)); + if (!new_elem) + { + while (new_lst) + { + new_elem = new_lst->next; + del(new_lst->content); + free(new_lst); + new_lst = new_elem; + } + return (0); + } + ft_lstadd_back(&new_lst, new_elem); + lst = lst->next; + } + return (new_lst); +} diff --git a/ft_lstnew.c b/ft_lstnew.c index e017942..2b8b267 100644 --- a/ft_lstnew.c +++ b/ft_lstnew.c @@ -6,12 +6,13 @@ /* By: tosuman +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/09 14:55:31 by tosuman #+# #+# */ -/* Updated: 2023/06/09 14:55:31 by tosuman ### ########.fr */ +/* Updated: 2023/06/24 17:36:37 by tosuman ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" #include +#include t_list *ft_lstnew(void *content) { @@ -21,6 +22,6 @@ t_list *ft_lstnew(void *content) if (!new) return (0); new->content = content; - new->next = 0; + new->next = (void *)0; return (new); } diff --git a/ft_lstsize.c b/ft_lstsize.c index e69de29..d551feb 100644 --- a/ft_lstsize.c +++ b/ft_lstsize.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstsize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/24 15:46:41 by tosuman #+# #+# */ +/* Updated: 2023/06/24 16:25:28 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +int ft_lstsize(t_list *lst) +{ + int i; + + i = 0; + while (lst) + { + lst = lst -> next; + i++; + } + return (i); +} diff --git a/ft_strlcat.c b/ft_strlcat.c index 0746d67..bf3d910 100644 --- a/ft_strlcat.c +++ b/ft_strlcat.c @@ -6,7 +6,7 @@ /* By: tosuman +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/11 16:55:00 by tosuman #+# #+# */ -/* Updated: 2023/06/02 20:02:14 by tischmid ### ########.fr */ +/* Updated: 2023/06/26 20:41:08 by tosuman ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,10 +23,10 @@ size_t ft_strlcat(char *dst, char const *src, size_t size) while (src[slen]) ++slen; idx = 0; - while (dst[idx]) + while (dst[idx] && idx < size) ++idx; dlen = idx; - if (dlen > size) + if (dlen == size) return (slen + size); sidx = 0; size -= dlen; @@ -35,31 +35,3 @@ size_t ft_strlcat(char *dst, char const *src, size_t size) dst[idx] = 0; return (dlen + slen); } - -/* -Alternative implementation -size_t ft_strlcat(char *dst, char const *src, size_t size) -{ - size_t dst_len; - size_t src_len; - - if ((!dst || !src) && size == 0) - return (0); - dst_len = 0; - src_len = -1; - while (*dst++) - ++dst_len; - while (src[++src_len]) - ; - if (size <= dst_len) - return (size + src_len); - if (--dst && dst_len > size) - return (size + dst_len); - while (src_len-- && ++dst_len < size) - *dst++ = *src++; - if (dst_len-- == size) - --dst_len; - *dst = 0; - return (dst_len + src_len); -} -*/ diff --git a/libft.h b/libft.h index 4a8eb3f..88e7679 100644 --- a/libft.h +++ b/libft.h @@ -6,7 +6,7 @@ /* By: tosuman +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/11 11:31:44 by tosuman #+# #+# */ -/* Updated: 2023/06/02 21:25:33 by tischmid ### ########.fr */ +/* Updated: 2023/06/24 17:16:29 by tosuman ### ########.fr */ /* */ /* ************************************************************************** */ @@ -61,5 +61,12 @@ int ft_char_in_charset(char c, char const *charset); UINT ft_abs(int n); t_list *ft_lstnew(void *content); void ft_lstadd_front(t_list **lst, t_list *new); +int ft_lstsize(t_list *lst); +t_list *ft_lstlast(t_list *lst); +void ft_lstadd_back(t_list **lst, 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)(void *)); +t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)); #endif