From 2323578207b9eceb520f01799db9acd36e19a18d Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Sun, 12 Mar 2023 18:02:00 +0100 Subject: [PATCH] Ajout --- .Makefile.swp | Bin 0 -> 16384 bytes Makefile | 36 +++++--- libft/ft_isalpha.c | 19 ----- libft/ft_isascii.c | 18 ---- libft/ft_isprint.c | 18 ---- libft/ft_itoa.c | 54 ------------ libft/ft_lstadd_back.c | 21 ----- libft/ft_lstadd_front.c | 19 ----- libft/ft_lstclear.c | 27 ------ libft/ft_lstdelone.c | 21 ----- libft/ft_lstiter.c | 22 ----- libft/ft_lstmap.c | 42 --------- libft/ft_lstnew.c | 25 ------ libft/ft_lstsize.c | 26 ------ libft/ft_memchr.c | 29 ------- libft/ft_memcmp.c | 29 ------- libft/ft_memcpy.c | 32 ------- libft/ft_memmove.c | 37 -------- libft/ft_power.c | 30 ------- libft/ft_putendl_fd.c | 25 ------ libft/ft_split.c | 117 -------------------------- libft/ft_strchr.c | 29 ------- libft/ft_strdup.c | 31 ------- libft/ft_strdup_free.c | 32 ------- libft/ft_strdups.c | 35 -------- libft/ft_striteri.c | 27 ------ libft/ft_strjoin.c | 29 ------- libft/ft_strjoin_free.c | 35 -------- libft/ft_strlcat.c | 27 ------ libft/ft_strlcpy.c | 30 ------- libft/ft_strlen_double.c | 30 ------- libft/ft_strmapi.c | 32 ------- libft/ft_strncmp.c | 33 -------- libft/ft_strnstr.c | 37 -------- libft/ft_strrchr.c | 33 -------- libft/ft_strslen.c | 23 ----- libft/ft_strtrim.c | 86 ------------------- libft/ft_substr.c | 35 -------- libft/ft_tolower.c | 18 ---- libft/ft_toupper.c | 18 ---- libft/libft.h | 76 ----------------- philo/.philo.c.swp | Bin 0 -> 12288 bytes libft/ft_isdigit.c => philo/main.c | 27 ++++-- philo/main.o | Bin 0 -> 3368 bytes libft/ft_isalnum.c => philo/parsing.c | 31 +++++-- philo/parsing.o | Bin 0 -> 3360 bytes philo/philo.c | 12 ++- libft/ft_lstlast.c => philo/philo.h | 42 ++++++--- philo/philo.o | Bin 0 -> 3128 bytes philo/threads.c | 47 +++++++++++ philo/threads.o | Bin 0 -> 4184 bytes philosopher | Bin 0 -> 20120 bytes {libft => utils}/Makefile | 31 ++----- {libft => utils}/ft_atoi.c | 4 +- utils/ft_atoi.o | Bin 0 -> 1488 bytes {libft => utils}/ft_atoi_check.c | 11 ++- utils/ft_atoi_check.o | Bin 0 -> 1592 bytes {libft => utils}/ft_bzero.c | 4 +- {libft => utils}/ft_calloc.c | 4 +- utils/ft_calloc.o | Bin 0 -> 1344 bytes {libft => utils}/ft_memset.c | 4 +- utils/ft_memset.o | Bin 0 -> 1056 bytes {libft => utils}/ft_putchar_fd.c | 4 +- utils/ft_putchar_fd.o | Bin 0 -> 1136 bytes {libft => utils}/ft_putnbr_fd.c | 37 +++++++- utils/ft_putnbr_fd.o | Bin 0 -> 1784 bytes {libft => utils}/ft_putstr_fd.c | 4 +- utils/ft_putstr_fd.o | Bin 0 -> 1192 bytes {libft => utils}/ft_strlen.c | 6 +- utils/ft_strlen.o | Bin 0 -> 1056 bytes utils/utils.a | Bin 0 -> 12742 bytes libft/ft_get_size.c => utils/utils.h | 36 ++++---- 72 files changed, 234 insertions(+), 1413 deletions(-) create mode 100644 .Makefile.swp delete mode 100644 libft/ft_isalpha.c delete mode 100644 libft/ft_isascii.c delete mode 100644 libft/ft_isprint.c delete mode 100644 libft/ft_itoa.c delete mode 100644 libft/ft_lstadd_back.c delete mode 100644 libft/ft_lstadd_front.c delete mode 100644 libft/ft_lstclear.c delete mode 100644 libft/ft_lstdelone.c delete mode 100644 libft/ft_lstiter.c delete mode 100644 libft/ft_lstmap.c delete mode 100644 libft/ft_lstnew.c delete mode 100644 libft/ft_lstsize.c delete mode 100644 libft/ft_memchr.c delete mode 100644 libft/ft_memcmp.c delete mode 100644 libft/ft_memcpy.c delete mode 100644 libft/ft_memmove.c delete mode 100644 libft/ft_power.c delete mode 100644 libft/ft_putendl_fd.c delete mode 100644 libft/ft_split.c delete mode 100644 libft/ft_strchr.c delete mode 100644 libft/ft_strdup.c delete mode 100644 libft/ft_strdup_free.c delete mode 100644 libft/ft_strdups.c delete mode 100644 libft/ft_striteri.c delete mode 100644 libft/ft_strjoin.c delete mode 100644 libft/ft_strjoin_free.c delete mode 100644 libft/ft_strlcat.c delete mode 100644 libft/ft_strlcpy.c delete mode 100644 libft/ft_strlen_double.c delete mode 100644 libft/ft_strmapi.c delete mode 100644 libft/ft_strncmp.c delete mode 100644 libft/ft_strnstr.c delete mode 100644 libft/ft_strrchr.c delete mode 100644 libft/ft_strslen.c delete mode 100644 libft/ft_strtrim.c delete mode 100644 libft/ft_substr.c delete mode 100644 libft/ft_tolower.c delete mode 100644 libft/ft_toupper.c delete mode 100644 libft/libft.h create mode 100644 philo/.philo.c.swp rename libft/ft_isdigit.c => philo/main.c (59%) create mode 100644 philo/main.o rename libft/ft_isalnum.c => philo/parsing.c (53%) create mode 100644 philo/parsing.o rename libft/ft_lstlast.c => philo/philo.h (52%) create mode 100644 philo/philo.o create mode 100644 philo/threads.c create mode 100644 philo/threads.o create mode 100755 philosopher rename {libft => utils}/Makefile (85%) rename {libft => utils}/ft_atoi.c (94%) create mode 100644 utils/ft_atoi.o rename {libft => utils}/ft_atoi_check.c (91%) create mode 100644 utils/ft_atoi_check.o rename {libft => utils}/ft_bzero.c (91%) rename {libft => utils}/ft_calloc.c (92%) create mode 100644 utils/ft_calloc.o rename {libft => utils}/ft_memset.c (92%) create mode 100644 utils/ft_memset.o rename {libft => utils}/ft_putchar_fd.c (91%) create mode 100644 utils/ft_putchar_fd.o rename {libft => utils}/ft_putnbr_fd.c (72%) create mode 100644 utils/ft_putnbr_fd.o rename {libft => utils}/ft_putstr_fd.c (91%) create mode 100644 utils/ft_putstr_fd.o rename {libft => utils}/ft_strlen.c (88%) create mode 100644 utils/ft_strlen.o create mode 100644 utils/utils.a rename libft/ft_get_size.c => utils/utils.h (53%) diff --git a/.Makefile.swp b/.Makefile.swp new file mode 100644 index 0000000000000000000000000000000000000000..8fc8cc081d3fe473a3cdeea050c7fc477763a870 GIT binary patch literal 16384 zcmeI3TWDNG7{{ko+a|SIwV?HBTw6AgoO3qYi)FFccI{1?q*~J=1h$*a+0B~Wob6t0 znkFjxB%*jJC_YF*sDhUw2;!Uiq)-Y9g=&40Vv9&YMe#}e&78|#jBO&=D$F6j%sDgP zH}lQ^oSmJSlZ+)>YBvj$}G%uTN$t z3tpq-mR&nvo!k0}utKL^%|4!OOgZUBwbrPuPdb(HV#%v{m2tP~3}h$Ve6i%tU5Uvx z3K#_zu0W%nw>GU9UYG1oDCfIlcgfps9bR}n#=|IJ6fg=H1&jhl0i%FXz$jo8_}?l} zuPhc%68++!2V+6Hs3W~DxVC~cT%Ct@LAFVZ0!9I&fKk9GU=%P47zK<1MggOMQNSo* z6!;G+kY&N|5Z5`ikmvn>xc>kBW+8rnGw>n20k6Oz7=s+_hhcaCHo#I?0zcg(#CPyM zyay-XRd^c8P=YZSfCStLtDzgZ;FlFb{0yJLr|>a+0B^ywFbYZd<3=IAfMbw>d*IjQ zLVNP21mw`&PaGMXX?a6r&D}H#%Ja<4l`#uos`RnT$mGasn8bWgt4|?kdq@N zKl5)XuDgkgZCSQz>0m5oaoRk%ip366G86Am&$i+mGnSp9l%vN_WN(nljBPd5^IP(Z zY^wCnv~B39vS{A!Y{)m|cP5ju?H)o^N3S0ydCfc26`4jSel$Hzo2bM;X(>@Qxssc$ zlGaMDTagKSUD)Z?_*<%oX}t)ClPK<{ttz$czCNPN1Ty)~I-{@8rZdVj9{Kvh!~;=- z>hvP!HMkeVOlo=ig{t zc!saV*rf-$t1x!SmLaO`DO49NW$Ljq!&mri)Ktn0UrjCiGc$a3DAJs!=pmUANDo5u z9f`ElwH&^J?nE=M`Aoh1d0NZ(#kceore1cBns{*Z>KP&vg63D*98)i%y3*`R1wQ8x zmhA%e_QXs1n7c9cU^ zti;Ov9k#U6vQ!++*8^kGRV_;^FV`F$+VZVx-+$sJbUZvHlR~6|rrMVJ+PcL+X zTs7*&Qq9r7?W|}@PtlsA`yNgQcOqryHrw8;Hi(MC%%&MdLS3m;t^aqjmc5-du3G!96r*En;99Qo!?k*}%>OrDu=ED67kIsL +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/17 17:34:33 by erey-bet #+# #+# */ -/* Updated: 2022/09/26 14:40:50 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isalpha(int c) -{ - if (!(c >= 'A' && c <= 'Z')) - if (!(c >= 'a' && c <= 'z')) - return (0); - return (1); -} diff --git a/libft/ft_isascii.c b/libft/ft_isascii.c deleted file mode 100644 index 82b1c10..0000000 --- a/libft/ft_isascii.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isascii.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/17 18:06:14 by erey-bet #+# #+# */ -/* Updated: 2022/09/26 14:36:18 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isascii(int c) -{ - if (c >= 0 && c <= 127) - return (1); - return (0); -} diff --git a/libft/ft_isprint.c b/libft/ft_isprint.c deleted file mode 100644 index c8b42c6..0000000 --- a/libft/ft_isprint.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isprint.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/17 18:24:36 by erey-bet #+# #+# */ -/* Updated: 2022/07/17 18:27:27 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isprint(int c) -{ - if (c >= 32 && c <= 126) - return (1); - return (0); -} diff --git a/libft/ft_itoa.c b/libft/ft_itoa.c deleted file mode 100644 index 54e40ab..0000000 --- a/libft/ft_itoa.c +++ /dev/null @@ -1,54 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_itoa.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/04 17:12:52 by erey-bet #+# #+# */ -/* Updated: 2022/10/26 16:00:48 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static void ft_itoa_bis(char *str, int len, int i, long nl) -{ - while (len > 1) - { - len--; - str[i] = (nl / ft_power(10, len) % 10) + 48; - i++; - } - str[i] = nl % 10 + 48; - i++; - str[i] = '\0'; -} - -char *ft_itoa(int n) -{ - char *str; - int len; - int i; - long nl; - - nl = n; - if (nl < 0) - nl *= -1; - len = ft_get_size(nl); - i = 0; - if (n < 0) - { - str = malloc(len + 2); - if (str == NULL) - return (NULL); - str[i] = '-'; - i++; - } - else - str = malloc(len + 1); - if (str == NULL) - return (NULL); - ft_itoa_bis(str, len, i, nl); - return (str); -} diff --git a/libft/ft_lstadd_back.c b/libft/ft_lstadd_back.c deleted file mode 100644 index 1e6c411..0000000 --- a/libft/ft_lstadd_back.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstadd_back.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 23:14:10 by erey-bet #+# #+# */ -/* Updated: 2022/10/09 23:22:24 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_lstadd_back(t_list **lst, t_list *new) -{ - if (*lst != NULL) - ft_lstlast(*lst)->next = new; - else - *lst = new; -} diff --git a/libft/ft_lstadd_front.c b/libft/ft_lstadd_front.c deleted file mode 100644 index 746f007..0000000 --- a/libft/ft_lstadd_front.c +++ /dev/null @@ -1,19 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstadd_front.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 21:43:39 by erey-bet #+# #+# */ -/* Updated: 2022/10/09 22:02:22 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_lstadd_front(t_list **lst, t_list *new) -{ - new->next = *lst; - *lst = new; -} diff --git a/libft/ft_lstclear.c b/libft/ft_lstclear.c deleted file mode 100644 index 1778aa4..0000000 --- a/libft/ft_lstclear.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstclear.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 23:56:15 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:13:45 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_lstclear(t_list **lst, void (*del)(void*)) -{ - t_list *temp; - - if (lst == NULL || del == NULL) - return ; - while (*lst != NULL) - { - temp = (*lst)->next; - ft_lstdelone(*lst, del); - *lst = temp; - } -} diff --git a/libft/ft_lstdelone.c b/libft/ft_lstdelone.c deleted file mode 100644 index d06004c..0000000 --- a/libft/ft_lstdelone.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstdelone.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 23:22:38 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:15:03 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_lstdelone(t_list *lst, void (*del)(void*)) -{ - if (lst == NULL || del == NULL) - return ; - del(lst->content); - free(lst); -} diff --git a/libft/ft_lstiter.c b/libft/ft_lstiter.c deleted file mode 100644 index 1680813..0000000 --- a/libft/ft_lstiter.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstiter.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/10 00:42:33 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 00:56:30 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_lstiter(t_list *lst, void (*f)(void *)) -{ - while (lst != NULL) - { - f(lst->content); - lst = lst->next; - } -} diff --git a/libft/ft_lstmap.c b/libft/ft_lstmap.c deleted file mode 100644 index 217944a..0000000 --- a/libft/ft_lstmap.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstmap.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/10 01:03:28 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 14:55:38 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) -{ - t_list *head; - t_list *new; - - if (lst == NULL || f == NULL || del == NULL) - return (NULL); - new = ft_lstnew(f(lst->content)); - if (new == NULL) - { - ft_lstclear(&new, del); - return (NULL); - } - head = new; - lst = lst->next; - while (lst != NULL) - { - new->next = ft_lstnew(f(lst->content)); - if (new == NULL) - { - ft_lstclear(&head, del); - return (NULL); - } - new = new->next; - lst = lst->next; - } - return (head); -} diff --git a/libft/ft_lstnew.c b/libft/ft_lstnew.c deleted file mode 100644 index 8ef323a..0000000 --- a/libft/ft_lstnew.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstnew.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 21:34:58 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:13:33 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -t_list *ft_lstnew(void *content) -{ - t_list *list; - - list = malloc(sizeof(t_list)); - if (list == NULL) - return (NULL); - list->content = content; - list->next = NULL; - return (list); -} diff --git a/libft/ft_lstsize.c b/libft/ft_lstsize.c deleted file mode 100644 index b510d2f..0000000 --- a/libft/ft_lstsize.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstsize.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 22:59:07 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:14:41 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_lstsize(t_list *lst) -{ - int size; - - size = 0; - while (lst != NULL) - { - size++; - lst = lst->next; - } - return (size); -} diff --git a/libft/ft_memchr.c b/libft/ft_memchr.c deleted file mode 100644 index f4e3580..0000000 --- a/libft/ft_memchr.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 19:02:18 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 02:19:17 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memchr(const void *memory_block, int searched_char, size_t size) -{ - size_t i; - unsigned char *tmp; - - i = 0; - tmp = (unsigned char *)memory_block; - while (i < size) - { - if (tmp[i] == (unsigned char)searched_char) - return (&tmp[i]); - i++; - } - return (NULL); -} diff --git a/libft/ft_memcmp.c b/libft/ft_memcmp.c deleted file mode 100644 index eea3c83..0000000 --- a/libft/ft_memcmp.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memcmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 19:18:16 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 14:45:03 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_memcmp(const void *pointer1, const void *pointer2, size_t size) -{ - size_t i; - unsigned char *tmp1; - unsigned char *tmp2; - - if (size == 0) - return (0); - tmp1 = (unsigned char *)pointer1; - tmp2 = (unsigned char *)pointer2; - i = 0; - while (i < size - 1 && tmp1[i] == tmp2[i]) - i++; - return (tmp1[i] - tmp2[i]); -} diff --git a/libft/ft_memcpy.c b/libft/ft_memcpy.c deleted file mode 100644 index f7699a7..0000000 --- a/libft/ft_memcpy.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/26 15:32:11 by erey-bet #+# #+# */ -/* Updated: 2022/09/27 06:36:02 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memcpy(void *dest, const void *src, size_t s) -{ - size_t i; - char *tmp_dest; - const char *tmp_src; - - if (dest == NULL && src == NULL) - return (NULL); - i = 0; - tmp_dest = dest; - tmp_src = src; - while (i < s) - { - tmp_dest[i] = tmp_src[i]; - i++; - } - return (dest); -} diff --git a/libft/ft_memmove.c b/libft/ft_memmove.c deleted file mode 100644 index 7101813..0000000 --- a/libft/ft_memmove.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memmove.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 06:50:08 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 14:35:27 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memmove(void *dest, const void *src, size_t s) -{ - size_t i; - char *d; - const char *sc; - - if (dest == NULL && src == NULL) - return (dest); - d = dest; - sc = src; - if (d < sc) - ft_memcpy(d, sc, s); - else - { - i = s; - while (i > 0) - { - i--; - d[i] = sc[i]; - } - } - return (dest); -} diff --git a/libft/ft_power.c b/libft/ft_power.c deleted file mode 100644 index 2f9df8d..0000000 --- a/libft/ft_power.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_power.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/10 22:50:22 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 22:50:31 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_power(int nb, int power) -{ - int i; - int new_nb; - - if (power < 0) - return (0); - i = 0; - new_nb = 1; - while (i < power) - { - i++; - new_nb *= nb; - } - return (new_nb); -} diff --git a/libft/ft_putendl_fd.c b/libft/ft_putendl_fd.c deleted file mode 100644 index 9484dd0..0000000 --- a/libft/ft_putendl_fd.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_putendl_fd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/05 00:48:29 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 22:14:10 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_putendl_fd(char *s, int fd) -{ - if (s == NULL) - return ; - while (*s) - { - ft_putchar_fd(*s, fd); - s++; - } - ft_putchar_fd('\n', fd); -} diff --git a/libft/ft_split.c b/libft/ft_split.c deleted file mode 100644 index 5947f62..0000000 --- a/libft/ft_split.c +++ /dev/null @@ -1,117 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_split.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/28 09:52:05 by erey-bet #+# #+# */ -/* Updated: 2023/01/17 15:40:25 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int get_len_all(char const *s, char c) -{ - int i; - int check; - int count; - - i = 0; - check = 0; - count = 0; - while (s[i]) - { - if (s[i] != c && check == 0) - { - count++; - check = 1; - } - else if (s[i] == c && check == 1) - check = 0; - i++; - } - return (count); -} - -static int get_len_next(char const *s, char c, int i) -{ - int y; - int count; - - y = i; - count = 0; - while (s[y] == c) - y++; - while (s[y] && s[y++] != c) - count++; - return (count); -} - -static void *ft_malloc_split(char **strs, int *iyx, char const *s, char c) -{ - iyx[1]++; - strs[iyx[1]] = malloc(get_len_next(s, c, iyx[0]) + 1); - if (strs[iyx[1]] == NULL) - { - iyx[1]--; - while (iyx[1] >= 0) - { - free(strs[iyx[1]]); - iyx[1]--; - } - free(strs); - return (NULL); - } - return (""); -} - -static char **ft_split_bis(char const *s, char c, char **strs, int *iyx) -{ - int boo; - - boo = 0; - while (s[iyx[0]]) - { - if (s[iyx[0]] != c) - { - if (boo == 0) - if (ft_malloc_split(strs, iyx, s, c) == NULL) - return (NULL); - boo = 1; - strs[iyx[1]][iyx[2]] = s[iyx[0]]; - iyx[2]++; - } - else if (boo == 1) - { - strs[iyx[1]][iyx[2]] = '\0'; - iyx[2] = 0; - boo = 0; - } - iyx[0]++; - } - if (boo == 1) - strs[iyx[1]][iyx[2]] = '\0'; - return (strs); -} - -char **ft_split(char const *s, char c) -{ - char **strs; - int iyx[3]; - - iyx[0] = 0; - iyx[1] = -1; - iyx[2] = 0; - if (s == NULL) - return (NULL); - strs = malloc(sizeof(char *) * (get_len_all(s, c) + 2)); - if (strs == NULL) - return (NULL); - if (ft_split_bis(s, c, strs, iyx) == NULL) - return (NULL); - iyx[1]++; - strs[iyx[1]] = NULL; - return (strs); -} diff --git a/libft/ft_strchr.c b/libft/ft_strchr.c deleted file mode 100644 index a6eabee..0000000 --- a/libft/ft_strchr.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 10:05:58 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 02:22:26 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strchr(const char *str, int search) -{ - int i; - - i = 0; - while (str[i] || str[i] == (unsigned char)search) - { - if (str[i] == (unsigned char)search) - { - return ((char *)&str[i]); - } - i++; - } - return (NULL); -} diff --git a/libft/ft_strdup.c b/libft/ft_strdup.c deleted file mode 100644 index 1830bfc..0000000 --- a/libft/ft_strdup.c +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strdup.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/26 14:25:30 by erey-bet #+# #+# */ -/* Updated: 2022/09/28 16:32:55 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strdup(const char *src) -{ - char *src_copy; - int i; - - src_copy = (char *)malloc(sizeof(char) * ft_strlen(src) + 1); - if (src_copy == NULL) - return (NULL); - i = 0; - while (src[i]) - { - src_copy[i] = src[i]; - i++; - } - src_copy[i] = '\0'; - return (src_copy); -} diff --git a/libft/ft_strdup_free.c b/libft/ft_strdup_free.c deleted file mode 100644 index af831cf..0000000 --- a/libft/ft_strdup_free.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strdup_free.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/26 14:25:30 by erey-bet #+# #+# */ -/* Updated: 2022/09/28 16:32:55 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strdup_free(char *src) -{ - char *src_copy; - int i; - - src_copy = (char *)malloc(sizeof(char) * ft_strlen(src) + 1); - if (src_copy == NULL) - return (NULL); - i = 0; - while (src[i]) - { - src_copy[i] = src[i]; - i++; - } - src_copy[i] = '\0'; - free(src); - return (src_copy); -} diff --git a/libft/ft_strdups.c b/libft/ft_strdups.c deleted file mode 100644 index d9e0c2c..0000000 --- a/libft/ft_strdups.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strdups.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/26 14:25:30 by erey-bet #+# #+# */ -/* Updated: 2022/12/29 18:05:24 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char **ft_strdups(char **src) -{ - char **src_copy; - int x; - int y; - - src_copy = ft_calloc(ft_strslen(src) + 1, (sizeof(char *))); - if (src_copy == NULL) - return (NULL); - x = -1; - while (src[++x]) - { - src_copy[x] = ft_calloc(ft_strlen(src[x]) + 1, 1); - y = -1; - while (src[x][++y]) - src_copy[x][y] = src[x][y]; - src_copy[x][y] = '\0'; - } - src_copy[x] = NULL; - return (src_copy); -} diff --git a/libft/ft_striteri.c b/libft/ft_striteri.c deleted file mode 100644 index 5f63e33..0000000 --- a/libft/ft_striteri.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_striteri.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/04 23:17:51 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 22:14:20 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_striteri(char *s, void (*f)(unsigned int, char*)) -{ - unsigned int i; - - if (f == NULL || s == NULL) - return ; - i = 0; - while (s[i]) - { - f(i, &s[i]); - i++; - } -} diff --git a/libft/ft_strjoin.c b/libft/ft_strjoin.c deleted file mode 100644 index 3af4212..0000000 --- a/libft/ft_strjoin.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strjoin.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/27 14:47:27 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 14:19:45 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strjoin(char const *s1, char const *s2) -{ - char *tmp; - int size; - - if (s1 == NULL || s2 == NULL) - return (NULL); - size = ft_strlen(s1) + ft_strlen(s2) + 1; - tmp = malloc(size); - if (tmp == NULL) - return (NULL); - ft_strlcpy(tmp, s1, size); - ft_strlcat(tmp, s2, size); - return (tmp); -} diff --git a/libft/ft_strjoin_free.c b/libft/ft_strjoin_free.c deleted file mode 100644 index 2dc9a56..0000000 --- a/libft/ft_strjoin_free.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strjoin_free.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/27 14:47:27 by erey-bet #+# #+# */ -/* Updated: 2023/01/17 16:25:07 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strjoin_free(char *s1, char *s2, int b) -{ - char *tmp; - int size; - - if (s1 == NULL) - return (s2); - else if (s2 == NULL) - return (s1); - size = ft_strlen(s1) + ft_strlen(s2) + 1; - tmp = ft_calloc(size, 1); - if (tmp == NULL) - return (NULL); - ft_strlcpy(tmp, s1, size); - ft_strlcat(tmp, s2, size); - if (b > 0) - free(s1); - if (b > 1) - free(s2); - return (tmp); -} diff --git a/libft/ft_strlcat.c b/libft/ft_strlcat.c deleted file mode 100644 index dd71c78..0000000 --- a/libft/ft_strlcat.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlcat.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/19 13:02:39 by erey-bet #+# #+# */ -/* Updated: 2022/10/14 17:49:58 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -size_t ft_strlcat(char *dest, const char *src, size_t size) -{ - size_t len_dest; - size_t len_src; - - if (size == 0) - return (ft_strlen(src)); - len_dest = ft_strlen(dest); - if (len_dest >= size) - return (ft_strlen(src) + (size)); - len_src = ft_strlcpy(dest + len_dest, src, size - len_dest); - return (len_dest + len_src); -} diff --git a/libft/ft_strlcpy.c b/libft/ft_strlcpy.c deleted file mode 100644 index b80d474..0000000 --- a/libft/ft_strlcpy.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/17 19:03:49 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 14:37:25 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -size_t ft_strlcpy(char *dest, const char *src, size_t size) -{ - size_t i; - - i = 0; - if (size) - { - while (i < size - 1 && src[i] != '\0') - { - dest[i] = src[i]; - i++; - } - dest[i] = '\0'; - } - return (ft_strlen(src)); -} diff --git a/libft/ft_strlen_double.c b/libft/ft_strlen_double.c deleted file mode 100644 index 8ea0ac7..0000000 --- a/libft/ft_strlen_double.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlen_double.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/12/12 13:45:14 by erey-bet #+# #+# */ -/* Updated: 2022/12/12 13:46:16 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_strlen_double(char **strs) -{ - int i; - int y; - int count; - - i = 0; - while (strs[i]) - { - y = 0; - while (strs[i][y]) - { - count++; - } - i++; - } - return (count); -} diff --git a/libft/ft_strmapi.c b/libft/ft_strmapi.c deleted file mode 100644 index 325e929..0000000 --- a/libft/ft_strmapi.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strmapi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/04 22:55:32 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 15:43:18 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) -{ - unsigned int i; - char *str; - - if (s == NULL || f == NULL) - return (NULL); - str = ft_strdup(s); - if (str == NULL) - return (NULL); - i = 0; - while (s[i]) - { - str[i] = f(i, s[i]); - i++; - } - return (str); -} diff --git a/libft/ft_strncmp.c b/libft/ft_strncmp.c deleted file mode 100644 index 9ca8735..0000000 --- a/libft/ft_strncmp.c +++ /dev/null @@ -1,33 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strncmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/18 19:09:01 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 15:04:46 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_strncmp(const char *s1, const char *s2, size_t n) -{ - size_t i; - unsigned char *tmp_s1; - unsigned char *tmp_s2; - - if (n <= 0) - return (0); - tmp_s1 = (unsigned char *)s1; - tmp_s2 = (unsigned char *)s2; - i = 1; - while (*tmp_s1 == *tmp_s2 && (*tmp_s1 != '\0' && *tmp_s2 != '\0') && i < n) - { - tmp_s1++; - tmp_s2++; - i++; - } - return (*tmp_s1 - *tmp_s2); -} diff --git a/libft/ft_strnstr.c b/libft/ft_strnstr.c deleted file mode 100644 index 2845cbc..0000000 --- a/libft/ft_strnstr.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strnstr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/28 09:37:24 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 16:39:12 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strnstr(const char *big, const char *little, size_t len) -{ - size_t i; - size_t y; - char *b; - - b = (char *)big; - i = 0; - if (!*little || (little == big && ft_strlen(little) <= len)) - return (b); - while (i < len && big[i]) - { - y = 0; - while (b[i + y] == little[y] && i + y < len) - { - y++; - if (little[y] == '\0') - return (&b[i]); - } - i++; - } - return (NULL); -} diff --git a/libft/ft_strrchr.c b/libft/ft_strrchr.c deleted file mode 100644 index 9e48783..0000000 --- a/libft/ft_strrchr.c +++ /dev/null @@ -1,33 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strrchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 11:13:35 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 02:23:25 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strrchr(const char *str, int search) -{ - int i; - char *last; - - i = 0; - last = NULL; - while (str[i] || str[i] == (unsigned char)search) - { - if (str[i] == (unsigned char)search) - { - last = (char *)&str[i]; - if (str[i] == 0) - return (last); - } - i++; - } - return (last); -} diff --git a/libft/ft_strslen.c b/libft/ft_strslen.c deleted file mode 100644 index c91921d..0000000 --- a/libft/ft_strslen.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strslen.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/26 14:25:30 by erey-bet #+# #+# */ -/* Updated: 2023/01/12 16:51:53 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_strslen(char **src) -{ - int i; - - i = 0; - while (src[i]) - i++; - return (i); -} diff --git a/libft/ft_strtrim.c b/libft/ft_strtrim.c deleted file mode 100644 index c54b7cc..0000000 --- a/libft/ft_strtrim.c +++ /dev/null @@ -1,86 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtrim.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/29 02:41:32 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 14:41:29 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int get_start(const char *str, char const *set) -{ - int i; - int y; - int check; - - i = 0; - while (str[i]) - { - y = 0; - check = 0; - while (set[y]) - { - if (str[i] == set[y]) - check = 1; - y++; - } - if (check == 0) - return (i); - i++; - } - return (0); -} - -static int get_end(const char *str, char const *set) -{ - int i; - int y; - int check; - - i = ft_strlen(str) - 1; - while (i > 0) - { - y = 0; - check = 0; - while (set[y]) - { - if (str[i] == set[y]) - check = 1; - y++; - } - if (check == 0) - return (i + 1); - i--; - } - return (0); -} - -char *ft_strtrim(char const *s1, char const *set) -{ - char *str; - int i; - int start; - int end; - - if (s1 == NULL || set == NULL) - return (NULL); - start = get_start(s1, set); - end = get_end(s1, set); - str = malloc(end - start + 1); - if (str == NULL) - return (NULL); - i = 0; - while (start < end) - { - str[i] = s1[start]; - i++; - start++; - } - str[i] = '\0'; - return (str); -} diff --git a/libft/ft_substr.c b/libft/ft_substr.c deleted file mode 100644 index 2a41b7b..0000000 --- a/libft/ft_substr.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_substr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/28 16:33:43 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:09:26 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_substr(char const *s, unsigned int start, size_t len) -{ - long size; - char *new_s; - - if (s == NULL) - return (NULL); - size = ft_strlen(s) - start; - if (size < 0) - size = 0; - else if ((unsigned long)size > len) - size = len; - new_s = malloc(size + 1); - if (new_s == NULL) - return (NULL); - if (start <= ft_strlen(s)) - ft_strlcpy(new_s, s + start, len + 1); - else - new_s[0] = '\0'; - return (new_s); -} diff --git a/libft/ft_tolower.c b/libft/ft_tolower.c deleted file mode 100644 index eea41be..0000000 --- a/libft/ft_tolower.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_tolower.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 10:04:55 by erey-bet #+# #+# */ -/* Updated: 2022/09/27 10:05:32 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_tolower(int c) -{ - if (c >= 'A' && c <= 'Z') - c = c + 32; - return (c); -} diff --git a/libft/ft_toupper.c b/libft/ft_toupper.c deleted file mode 100644 index 3bb2a91..0000000 --- a/libft/ft_toupper.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_toupper.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/27 10:01:53 by erey-bet #+# #+# */ -/* Updated: 2022/09/27 10:04:19 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_toupper(int c) -{ - if (c >= 'a' && c <= 'z') - c = c - 32; - return (c); -} diff --git a/libft/libft.h b/libft/libft.h deleted file mode 100644 index c552ecc..0000000 --- a/libft/libft.h +++ /dev/null @@ -1,76 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: erey-bet +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/26 16:31:10 by erey-bet #+# #+# */ -/* Updated: 2022/12/13 13:23:44 by erey-bet ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_H -# define LIBFT_H -# include -# include - -typedef struct s_list -{ - void *content; - struct s_list *next; -} t_list; - -int ft_isalpha(int c); -int ft_isdigit(int c); -int ft_isalnum(int c); -int ft_isascii(int c); -int ft_isprint(int c); -int ft_toupper(int c); -int ft_tolower(int c); -size_t ft_strlen(const char *str); -void *ft_memset(void *ptr, int v, size_t count); -void ft_bzero(void *s, unsigned int n); -void *ft_memcpy(void *dest, const void *src, size_t s); -void *ft_memmove(void *dest, const void *src, size_t s); -void *ft_memchr(const void *memory_block, int searched_char, size_t size); -int ft_memcmp(const void *pointer1, const void *pointer2, size_t size); -size_t ft_strlcpy(char *dest, const char *src, size_t size); -char *ft_strnstr(const char *big, const char *little, size_t len); -char *ft_strchr(const char *str, int search); -char *ft_strrchr(const char *str, int search); -int ft_strncmp(const char *s1, const char *s2, size_t n); -size_t ft_strlcat(char *dest, const char *src, size_t size); -char *ft_strdup(const char *src); -char *ft_strdup_free(char *src); -char **ft_strdups(char **src); -int ft_atoi(const char *nptr); -char **ft_split(char const *s, char c); -void *ft_calloc(size_t nitems, size_t size); -char *ft_itoa(int n); -char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); -void ft_striteri(char *s, void (*f)(unsigned int, char*)); -void ft_putchar_fd(char c, int fd); -void ft_putstr_fd(char *s, int fd); -void ft_putendl_fd(char *s, int fd); -void ft_putnbr_fd(int n, int fd); -int ft_get_size(long n); -int ft_power(int nb, int power); -char *ft_strjoin(char const *s1, char const *s2); -char *ft_strjoin_free(char *s1, char *s2, int b); -char *ft_strtrim(char const *s1, char const *set); -char *ft_substr(char const *s, unsigned int start, size_t len); -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 *)); -int ft_atoi_check(const char *nptr); -int ft_strlen_double(char **strs); -int ft_strslen(char **src); - -#endif diff --git a/philo/.philo.c.swp b/philo/.philo.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..d67e4800f31cb2e8616a4285e466cddd5b70da5d GIT binary patch literal 12288 zcmeI2&yLbS9LIm?Wl>S1*^8&KJuC|g{R2cYnvHQ|q6zK|PsUB5gER}J4lOP*x);58 z_Z7T)Ht_{~0pl}xF}{Jn(oP{t%%WUKegogmkIwW1^9el=rei*S_=q*D7GS#y@ag-O z`|bSu3-3N`fskTa>4-2M`dhQ^*Q#~f@t=*Nff$NvPcEPRS^4F%BX*j>dJ{ z2>RY&G#&+gA(J{eR=dkdbe0T|ft3tIVXx9Gv}?9y#@FfEO?LfSdnE)-CIe)E43Ggb zKnBPF86X2>V6zQ`K@LuF3Fp#fY^Qzhw?2JI9T^}4WPl8i0Wv@a$N(8217v^1wR;=#FQgZWqP54g zC%(4FtoU3nJPM-F@5rN`Tb%99t?YYlIyk@JftWIHXUOofTX@+^n2bC(Us~AATSQR2 zwU;F)cX8vP=XVE@E0{JLsP;7gqr^&UYpi6%z%@1nYzM9r3YRn6v}=Zm&nB}iZZ>$m z!8%i>wl`;Qt?N40c$_ud7oCnM;DHo>0!?18@rJb&$n +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2022/07/17 18:06:14 by erey-bet #+# #+# */ -/* Updated: 2022/09/26 14:41:48 by erey-bet ### ########.fr */ +/* Created: 2023/02/24 14:21:54 by erey-bet #+# #+# */ +/* Updated: 2023/03/12 16:53:38 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -int ft_isdigit(int c) +#include "philo.h" + +int main(int argc, char *argv[]) { - if (c > 47 && c < 58) + t_config config; + + if (argc < 5) + { + write(2, "Not enought argument\n", 21); return (1); + } + if (parsing(argv, &config)) + { + write(2, "Error parsing\n", 14); + return (2); + } + if (manage_threads(&config)) + { + write(2, "Error Philo\n", 12); + return (3); + } return (0); } diff --git a/philo/main.o b/philo/main.o new file mode 100644 index 0000000000000000000000000000000000000000..63f0f7dad5780dae52920662848053ba9df29d78 GIT binary patch literal 3368 zcmbVOU1%It6h1Svf5|4hn{1l4R%D@;K1gPhm_l1MMoa8gN+?Q15Lst;C%a2`XO{U{ zlR(-+Y9WS5BK1K*eA72UAAAU@id8D&n-BWvi_n4(@hxB=o-=c9b~4#o^uWF6obR4< z?!D*UduFarUw%oJBoHLQBy==^0^Cn@_f&sLgEv)=eSpIYL-t;b^D@!|t6?c1i zX(yUqJB7eEGIoWpX^d#|2zK{LLI;}X!2))L)urvin){nKu)G85o84SfXenGN>Vrvg zU0ZsDTVKFUA-6boyxi64-NN$sqi^1wF`b-lm~OS^Xll(VfKPFAe~BOqe?1s^h9bv8jJzRDuRQtsbfm&eDay(>EoBO&mRX+q98MLDGLyp zIG{$K1SK_@OeO(hX&{66Ffu;`Kq4zCsbrGk0rd2v?WHU!XHkV;utl(;nRjNi)x&fT zAkPuHm@3azit!xwekkH;vrbxH_tijy&ypgJajm zQJYZDK#Pte-_+`cT86waXXk5XQ@8WFr7w(>bSLjvT3d7H^A}vpcI}Dryysz?t(tBD z`9a-q01v%PT^q_Z&4RLN%+;%4l&qp>4o1-qf^Eoi#7QzXnTvZEt} z|F#)`A<7(*wD<~0^BL(xUp%pnhx<5U)QIQ|;e}M@mVBW?zxKMBD4lD0U|8WxeE>v7@vmSQM%=r1UGV-x*bE|rfqA`LB6boR zUcEz9eh5xwtDF64jzDRlY9r_j3-nxjvF+~pMC&0UoL+&zO9Uc`IK#dQ-t$B`9OoS# zC!De&;(W-sh(m>y=rf-kii2g$BU&TH5+q6s;a(x&fkEa1A7Ndrmv9l2h92W_VSk?W zCz#VZ_b(*MPdx-b$GC`dmGz4u++lq-gwy#E(fJaIILp2YCUb#{yx$1n*H~W-;dfbo zKZI|x{!s{jm-SCW_-)p|4B;QMF21Z{ox=a8ko^~|=a^HDgL!_I@o@fodlH~l^paaG zYNe8;w?Vb^hNe3DyaQ_4Y|@t!ON*gZ^`cX=bgg0w2ivjO+7D1S=1jlhs)p(4>cyGa z5!=zqSAjpVpf(!qW>KqDu;y3cZL99+2O>1;h5+ zIU2!Z>KO0t|1-*K@I8x2C%N?eAOPl+#~@K%CoK3DXncw~BvFTa?Qm^L<3R8|3cD-( z7{6tJY7(8RsEEfH{|Y(HKhC;fab9Q`7wZplAq!vP=NP;h1W^v#zSspLmpg3uD=7gA z`#*L!Vj{6qko>2bi*HZWkoX%I|!uRm|A9?=8 zAlSv0{ujH=pWunaJTyOjwZrpMeOE5;QCYr$ZJ%;%DAGv&MB%l5j#xN%WLMxt`9ILU JAEhKb|37VwX!!sD literal 0 HcmV?d00001 diff --git a/libft/ft_isalnum.c b/philo/parsing.c similarity index 53% rename from libft/ft_isalnum.c rename to philo/parsing.c index 59a05d6..e19d923 100644 --- a/libft/ft_isalnum.c +++ b/philo/parsing.c @@ -1,20 +1,37 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ft_isalnum.c :+: :+: :+: */ +/* parsing.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2022/09/26 16:47:30 by erey-bet #+# #+# */ -/* Updated: 2022/09/26 16:50:25 by erey-bet ### ########.fr */ +/* Created: 2023/03/08 14:59:29 by erey-bet #+# #+# */ +/* Updated: 2023/03/12 16:53:19 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -int ft_isalnum(int c) +#include "philo.h" + +int parsing(char *argv[], t_config *conf) { - if (!(c >= 'A' && c <= 'Z')) - if (!(c >= 'a' && c <= 'z')) - if (!(c >= '0' && c <= '9')) + if (ft_atoi_check(argv[1])) + { + conf->nbr_philo = ft_atoi(argv[1]); + if (ft_atoi_check(argv[2])) + { + conf->time_die = ft_atoi(argv[2]); + if (ft_atoi_check(argv[3])) + { + conf->time_eat = ft_atoi(argv[3]); + if (ft_atoi_check(argv[4])) + { + conf->time_sleep = ft_atoi(argv[4]); + if (ft_atoi_check(argv[5])) + conf->must_eat = ft_atoi(argv[5]); + } return (0); + } + } + } return (1); } diff --git a/philo/parsing.o b/philo/parsing.o new file mode 100644 index 0000000000000000000000000000000000000000..ae92db3b1fd369f050da96531dfa470f205704fa GIT binary patch literal 3360 zcmbuAU1%It6vxl(?44|~$!3#HH;L7}ImNx;wkh z&Ms-CHYBCE#0RS{iux$%L!k&h2)VCJ0j zyZ`$!_iL`qoqaB%X&_94QxIl?0%Ur_c-9YRA&JVRT<5pk=I@zY=kiXj)7s8$&F$p2 z)?(YF+58Izul|a`0ou8R>2@c^VKS8745b0((p;2l$3pFuP#aL8742q1?R=;WsL=NF zb{`A1=};R`p-tY!68Ls*m)zYUdifE(kkX`W&F$tkzsa2cS{u?HNu-#bNRA#&3~9p# zK*U5iY|M`7iKpUE#~&SENSz)B&>2KHT1Wvz9|k>fDjtsmut6YVq|pU+0D4lIo`}b( z0f5*5Y8O(JOk)b);Sy#Vj7MT&e55~&(@B7(Ld)@5nPSy) zN}0CpHY;@}b9~C2G$$ucwEV*3Z%ko!(tH9M-_fg^J^W<(Aq|EL$!V>&_}T1vl?Y!K>8l z{7S_R0^9O}pjox;2Gm+jFHfwQr)rfFcp~_3-$Jv7^A|YKF1-ZWT2edO-xGTqSL=S{ z^pMf&!83{EwaA$PLm$#m0^cKw!W6zWP5V1BK#pXz(7{)TZ^das=rglSAwci`#?S{f zHq!SeGmMQ5_JC1lM~n@odn~nxQI_?{IO^lHF~eenkD)q^YUZ(#MK+4Km+*s##}OMI z8(m~$i2Ddy`LHw|f9;Ur72q2kF6w=EFR*NY{gLABvCp5C zxU7F!;wl5Btf!c)4QT)PdXYgaAPv)4Q@i}hN~#+#Qbnx4yxgBlfQwGOLZ-ty{|e6eg7 zUj@^td$u|M!qP<3voPnS;%)=8T5Z?z*2)V05lROdt5zJF1G}7Gb*-8$YT=D&V&9%s zK!34D{(l?IqrA^WgRl61I{-27g44XoM*jg~;@pU`SssXcL~!*^8pHzmJPF-8KQucW zkdD@o4-3XPr@qxOQPDXLTU;lcsy%@PDkJS34u238xmUF&@^0gA@CmuiE717qlhpA) zgp4GU_{jD?-?VpRh_UEjc)Cxz)nDO@O5>AF)D!-BEEKVe}AKi7LzToS~x{d!w-v3WnE}N=-9Sghl|6-T^=^vo> sUqhy!-K(Qp$7kQlTqx#+#!sg9e*>A&_yYd=gb(Uxo>M*AQfmMI08Lx2n*aa+ literal 0 HcmV?d00001 diff --git a/philo/philo.c b/philo/philo.c index 20261af..333224e 100644 --- a/philo/philo.c +++ b/philo/philo.c @@ -5,9 +5,17 @@ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2023/02/24 14:21:54 by erey-bet #+# #+# */ -/* Updated: 2023/02/24 14:21:55 by erey-bet ### ########.fr */ +/* Created: 2023/03/08 20:43:51 by erey-bet #+# #+# */ +/* Updated: 2023/03/12 16:54:49 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ +#include "philo.h" +void *philosopher(t_philo *philo) +{ + write(1, "Hey i'm ", 8); + ft_putnbr_fd(philo->id, 1); + write(1, "\n", 1); + return (NULL); +} diff --git a/libft/ft_lstlast.c b/philo/philo.h similarity index 52% rename from libft/ft_lstlast.c rename to philo/philo.h index 9ca97dd..e4d89d7 100644 --- a/libft/ft_lstlast.c +++ b/philo/philo.h @@ -1,25 +1,41 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ft_lstlast.c :+: :+: :+: */ +/* philo.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/09 23:03:50 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:14:51 by erey-bet ### ########.fr */ +/* Created: 2023/03/08 14:51:16 by erey-bet #+# #+# */ +/* Updated: 2023/03/12 16:56:46 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#ifndef PHILO_H +# define PHILO_H -t_list *ft_lstlast(t_list *lst) +typedef struct s_config { - t_list *current; + int nbr_philo; + int time_die; + int time_eat; + int time_sleep; + int must_eat; +} t_config; - current = lst; - if (current == NULL) - return (NULL); - while (current->next != NULL) - current = current->next; - return (current); -} +typedef struct s_philo +{ + t_config conf; + int id; +} t_philo; + +# include "../utils/utils.h" +# include +# include +# include +# include + +int parsing(char *argv[], t_config *conf); +int manage_threads(t_config *conf); +void *philosopher(t_philo *philo); + +#endif diff --git a/philo/philo.o b/philo/philo.o new file mode 100644 index 0000000000000000000000000000000000000000..7f8a9b2dad85a12b50320ca0ae9cdd190052cda9 GIT binary patch literal 3128 zcmbuBO=u)l5P++@XC{+OGMQvzHrYfOQCSevlf)I4UEPf=s}o&3tV9J}#-5p;q;Y;i zcTY?fTovw(+put}wEcbV^6iqpRR~Tr3or!MnDsz5pLDXhV>8(?Ydi&D zk76Rn#g_5Z(v*`uojH>^F}<8WHw}{N5IK0 z=gB#R?%@6Cp3P*?gkSJU;DbS8ONNDQzMe;5JBpHLJx883`XIg&_Ki*HJxeP20=`mJ zGEwZi#jZ}-)3jCa2B8@c_8qckCm{6>wV>F?MC^o}>$Q(-vH3)gPo#VHUBf+lG6#c{ zE17_mN~aZf3e|?!S}kn&VHC7mg@r|T-kqO&xFZ@Dt}dc?(tQNh*Mdg7DBf-rimiH7 zTx&P|sOX3O)?CGpi*e{}c%9AS`A!&hqLYgd>l$WswttRt#~_ z^vkutmxk{#i5kAY4$V#!mx)DX>Kd#Exwq`|BPsh5MgY8oC;{{Mwk+%K>g znn?JLJYI*|92hyo=$PgXQ2-a&xHccLhsc5>;_v^!M2pPh+yz|mmcb>SuOXIQ`>yzYj>`!W3 zdFo&7p(FTd=4#vq`z3>mqJ!+R!Ktp0)THXp|0niUK9&C}bCpl=ADQnMd2X@4Yw)kw zf6w6C?0;(T8|;5!@b}sO*5IG8|AWClXa8q|zs-JuHSN8=|N8mS`QQM!HNVnXEqj$p z=x=}<`VG&G{mmHMYP;F=v6gW}6d$a8GF0{sTJ<)#t#<6YPd>9U7sX!n6>uAkjb_=a z)vz3|!mD8r`{IzmD^qM}@vFdeVs-^W>x74^ebnI2YjkcOXhwYjddxRI< z1zz(1QuMv_`>B#G^8bX}3b3a0tqav#V)`AS_9c3us5&9N!?lI}0qFNs#qBaw=ap&_ zeLwLdhRJ*mHdtb(!VBU&+zL>`!%| z-}=*Br1rQ2t)KSTT>pK@C}bWVT~xoL##i$=j-C4Tzr&Y>>b@?jpVCx^m95A1{z>Wd zaO|71|2hxX4Nmi+Jk=%AQ0rIt8XEof5BU75b3*$^XF>H>JVw@U{!2Xm%h;}q8QaFj ze&bK|8J~V_&GBDE=3LyTG}rLy$~^a1`$F?4F~|Q5nTins{Q8LJ|0ny@k5ZcB{|iak BC@%m2 literal 0 HcmV?d00001 diff --git a/philo/threads.c b/philo/threads.c new file mode 100644 index 0000000..78a76e2 --- /dev/null +++ b/philo/threads.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* threads.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: erey-bet +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/03/08 20:08:33 by erey-bet #+# #+# */ +/* Updated: 2023/03/12 16:57:52 by erey-bet ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "philo.h" +#include + +int manage_threads(t_config *config) +{ + pthread_t *threads; + t_philo philo; + int i; + + threads = malloc(config->nbr_philo * sizeof(pthread_t)); + if (threads == NULL) + return (1); + i = -1; + philo.conf = *config; + while (++i < config->nbr_philo) + { + philo.id = i; + if (pthread_create(&threads[i], NULL, (void *)&philosopher, &philo) != 0) + { + write(2, "Error thread creation\n", 21); + return (1); + } + write(1, "Thread created\n", 15); + } + while (--i > -1) + { + if (pthread_join(threads[i], NULL) != 0) + { + write(2, "Error thread finish\n", 20); + return (1); + } + write(1, "Thread finish execution\n", 24); + } + return (0); +} diff --git a/philo/threads.o b/philo/threads.o new file mode 100644 index 0000000000000000000000000000000000000000..0e3e6c6626d2c845840dac23b9364868cbd5c5ed GIT binary patch literal 4184 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 +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2022/09/27 04:19:30 by erey-bet #+# #+# # -# Updated: 2022/12/13 13:23:28 by erey-bet ### ########.fr # +# Updated: 2023/03/08 21:29:13 by erey-bet ### ########.fr # # # # **************************************************************************** # -SRCS = ft_isalpha.c ft_isdigit.c ft_isalnum.c ft_isascii.c ft_isprint.c \ -ft_strlen.c ft_memset.c ft_bzero.c ft_memcpy.c ft_memmove.c ft_strlcpy.c \ -ft_strlcat.c ft_toupper.c ft_tolower.c ft_strchr.c ft_strrchr.c ft_strncmp.c \ -ft_memchr.c ft_memcmp.c ft_strnstr.c ft_atoi.c ft_calloc.c ft_strdup.c \ -ft_substr.c ft_strjoin.c ft_strtrim.c ft_split.c ft_itoa.c ft_strmapi.c \ -ft_striteri.c ft_putchar_fd.c ft_putstr_fd.c ft_putendl_fd.c ft_putnbr_fd.c \ -ft_get_size.c ft_power.c ft_atoi_check.c ft_strlen_double.c ft_strjoin_free.c \ -ft_strdup_free.c ft_strdups.c ft_strslen.c +SRCS = ft_atoi.c ft_calloc.c ft_putstr_fd.c ft_putnbr_fd.c ft_atoi_check.c \ +ft_calloc.c ft_memset.c ft_putchar_fd.c ft_strlen.c OBJS = ${SRCS:.c=.o} -BONUS_SRCS = ft_lstnew.c ft_lstadd_front.c ft_lstsize.c ft_lstlast.c \ -ft_lstadd_back.c ft_lstdelone.c ft_lstclear.c ft_lstiter.c ft_lstmap.c -BONUS_OBJS = ${BONUS_SRCS:.c=.o} -CC = gcc -CFLAGS = -g -Wall -Wextra -Werror -NAME = libft.a - -ifdef BONUS - SRCS += ${BONUS_SRCS} -endif +CC = clang +CFLAGS = -Wall -Wextra -Werror +NAME = utils.a all: ${NAME} ${NAME}: ${OBJS} ar -rc ${NAME} ${OBJS} -%.o:%.c - ${CC} ${CFLAGS} -c -o $@ $< - clean: rm -f ${OBJS} ${BONUS_OBJS} @@ -46,9 +30,6 @@ fclean: clean re: fclean all -bonus: - @make BONUS=1 - coffee: @clear @echo "" diff --git a/libft/ft_atoi.c b/utils/ft_atoi.c similarity index 94% rename from libft/ft_atoi.c rename to utils/ft_atoi.c index a723bf6..c889314 100644 --- a/libft/ft_atoi.c +++ b/utils/ft_atoi.c @@ -6,11 +6,11 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/07/21 08:21:05 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:44:20 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:09:45 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" static int ft_isspace(char c) { diff --git a/utils/ft_atoi.o b/utils/ft_atoi.o new file mode 100644 index 0000000000000000000000000000000000000000..c28618793d5efa1b52ae6924379572d1669d15d0 GIT binary patch literal 1488 zcmb_cO=}ZT6n&G_ewp~Hh=_`gxUe7@l3Jyrl_~P{Em{#FC_)L7bXsG+N-`}`s8wbv ziS44lz_mO51))-*{sy;=FaZ~F7il2gJDE3~4!ZM(mv_&(=bra5ldQAZ`yojpA|!H` z93sIIvK>CmRVP)+2q=@h{)3x8WnN!v^G(*KjVXH^49pIp)=3Z|$;};!*IB#uz1QpQ zu_i9i7lZB^wZ{B7MmMem@DN~VgXW&!j_)xWDz4RVV#oX)ud#i)b;R!${jdYmbIcy)n{#bW8zWr$ z#!Wj8$F%)>Y^A^q2%Bf-nw)<6QfJ*w*5&3`d488(a_ b!zN@HrRpLk*PHU)_oA6 z)}#kUsdd!@QEHv@zzDUX9ysnD18=$2zq&4@1eTrOCCT(k(O8i)d9Ao4uj=JWwp5f8 z6G~i($F8q9#l-6gK$FT1XgZCZ5Yns1M5>NS=OaVI+u(cwI2;($xYEptv3H?+(ZTSP z1QMrq$EgysjI*eRa#;RnJc7yq`PB;w7!V=&sJIq{eM^Uy?S=KU6ih3nOl!{R{v^2~w3poFmcm^*1a|zSSF8M+b?(ANt z$0Eit=rR37b@Asw1OC+ff$tki;(ikHw%ex!cwr}I^b@&XdJ!MYUm~cz4I1E +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/07/21 08:21:05 by erey-bet #+# #+# */ -/* Updated: 2022/12/08 16:37:19 by erey-bet ### ########.fr */ +/* Updated: 2023/03/12 16:51:03 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" static int ft_isspace(char c) { @@ -25,15 +25,14 @@ int ft_atoi_check(const char *nptr) long result; int sign; + if (!nptr) + return (0); while (ft_isspace(*nptr)) nptr++; sign = 1; if (*nptr == '+' || *nptr == '-') - { - if (*nptr == '-') + if (*nptr++ == '-') sign = -1; - nptr++; - } result = 0; while (*nptr >= '0' && *nptr <= '9') { diff --git a/utils/ft_atoi_check.o b/utils/ft_atoi_check.o new file mode 100644 index 0000000000000000000000000000000000000000..979636059f038ce8650b1ab8545e02f913144316 GIT binary patch literal 1592 zcmbtU&1(}u6rW9Mzigc-B7Pxz^H8#+A3_TvDY80XD@BNSu!L>8X-o4_l1-^X+LYZ& zW2N-!rFisD@Dy4rRQwCXYb$KPL%c;=Sl`>7*=`p+`NA;o{oe2Q-ptD+YwEM4?%C8*Uzk8PiSz6fLTDFWZ`IvHCY=euhS= z7NdfQbn=eMPvGV_Z(eURP3?+}Ih%~T3TMb6~3!koOUm&yyp zf;>2+B$PyaxZ)-USBD@PQSO20Dk{OG*UyNw5|eKAb#?DR<=cSaLfgeo3`aD$aIk3PMGinfCzj(U@tJYrst9<;9ji^kjkIPI7t)z|J+nxZLebEb$4^u7vY}y|%Pr^A z+UzXMb&e<{J*O%9d^%gw@;XWv%H<_36lnhbIM#<1-V1Jdz{l6^>6@vE@1=l&a zEC9aqvHB>+xH^5rbCNucg+`9^4jR5Y)F*-<_)}b`gmBSc>~|n9{2+BT)K}!f+;LC8 z6sFfW@Inar9)6Peb~{2G45#?~#Jy05|4BlB9Z6t#zvzThgsle4w;I=r^9r4a1+f55 U`0SYb&cPK-<})Divv0+0z4UH||9 literal 0 HcmV?d00001 diff --git a/libft/ft_bzero.c b/utils/ft_bzero.c similarity index 91% rename from libft/ft_bzero.c rename to utils/ft_bzero.c index 8688fb4..402a3ee 100644 --- a/libft/ft_bzero.c +++ b/utils/ft_bzero.c @@ -6,11 +6,11 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/09/26 15:21:33 by erey-bet #+# #+# */ -/* Updated: 2022/09/26 15:31:11 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:11:32 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" void ft_bzero(void *s, unsigned int n) { diff --git a/libft/ft_calloc.c b/utils/ft_calloc.c similarity index 92% rename from libft/ft_calloc.c rename to utils/ft_calloc.c index 15af293..ffcb062 100644 --- a/libft/ft_calloc.c +++ b/utils/ft_calloc.c @@ -6,11 +6,11 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/09/28 16:21:44 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 14:17:31 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:10:07 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" void *ft_calloc(size_t nitems, size_t size) { diff --git a/utils/ft_calloc.o b/utils/ft_calloc.o new file mode 100644 index 0000000000000000000000000000000000000000..d1b61794335232c79875138bd24c20ba2ef3b3ac GIT binary patch literal 1344 zcmb_b&ui3B5PsQhYt_~)MWvufj)L^DTNMOFwo2*)i%4N_%92g9t(YGr`?jowRbf>K zy%hfiFW&ku6cqb!J2<`t%II zJv~Ezi+W4}PQ&^$o>=P){&R*eXY>Z~c+%`?r^}3oj%#u0^d#eU;CYTOSz9(+yG|G| z?g!H0Po6cFI?}RVGw!-OUensxfD729QfI5#4lU1Np5?lMjm37(<2K_R8A_`K_{Ky0 zKeh#JaL&9vq9J>^ME>8Hfjn}ES*uf^?nmYFcZ#)mH+hR`BSDGtfOw=?iWdpz08v_{ zSV2M#R|FxoO>2<40ZVZtN#SY{S)g5+aNF5$0vjw+{XGmarp~XZ2jCRVf0G)jIdOh` t$EsfOIA3{f900tBbz*g@SLecdwES4xz$r~CpvQ9(?o*5*ekb|;{{rwKrJ4W$ literal 0 HcmV?d00001 diff --git a/libft/ft_memset.c b/utils/ft_memset.c similarity index 92% rename from libft/ft_memset.c rename to utils/ft_memset.c index 5c2adcd..c0858cb 100644 --- a/libft/ft_memset.c +++ b/utils/ft_memset.c @@ -6,11 +6,11 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/09/26 14:46:33 by erey-bet #+# #+# */ -/* Updated: 2022/10/15 23:31:18 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:11:59 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" void *ft_memset(void *ptr, int v, size_t count) { diff --git a/utils/ft_memset.o b/utils/ft_memset.o new file mode 100644 index 0000000000000000000000000000000000000000..e624c4392f717aed4780ef38b132856235dda280 GIT binary patch literal 1056 zcmb`FJ4*vW5XbkDs1bYwNg-+xTfrs1KoBJ&XRh!8YATWBJl6;2E|P2{3O*np9yS(! zAkjiwJIiZ?SPB;D&Y8<@yqqZ=*qfQ(%ztOu+beZtIix5=nnD)HZzd@rjt{0hoFd)O znbGVI&AzDHzI_4&c-6U$N4;wGQGrh9 z^UZZ#lA@<%E&ft%JlVE0&H5R$^k3CTVhfs_YdfE+-+IrZYGVEZ%TLIo}{k zC8iAbbVcvs%p<^Yp>5%3u`hNLTI%f#twRTb_Lc@5AzyC0YM6xn;24krANOVfONdTX zw5TX&6;7y8FimE0vd^<7GfNDRRp5-K*D~WJt{caM=JTg!R^Qu$Yd9dZ$nrX6huQt2 zZn9q)H3%*7BG-4ppPA_Y#WrD=aGRYf;yoCFn!rtpIj+toX#^>e%X^Y#yhp!vL4x|E zA42>favI=rzVt&-m$AR~$)EV*VDEfGf70^rfV~RMtWS$!@JV4k66nD+Ck73Q8tOV= rNxkG_z``qT0o*mLrpf!4K +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/05 00:21:56 by erey-bet #+# #+# */ -/* Updated: 2022/10/05 00:31:51 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:14:16 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" void ft_putchar_fd(char c, int fd) { diff --git a/utils/ft_putchar_fd.o b/utils/ft_putchar_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..60f59bbba8ff9304607d025f05e9fc53e52eac6d GIT binary patch literal 1136 zcmbtSJ4*vW5S~kdFQOcxASjYXu*ni%pp8UCy&_l$v6FaSE=J5<uX2UaRoot&A^LZ8rzfr&&q8)BI68ljN#gw&aN4oGNj#u9vR+b)Xdri>?gGVbMZ&z$QpxvAe*uk7 z|KApk +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/05 10:22:16 by erey-bet #+# #+# */ -/* Updated: 2022/10/18 17:32:20 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:16:33 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" + +static int ft_get_size(long n) +{ + long i; + + if (n == 0) + return (1); + i = 0; + n *= (n > 0) - (n < 0); + while (n > 0) + { + i++; + n = n / 10; + } + return (i); +} + +static int ft_power(int nb, int power) +{ + int i; + int new_nb; + + if (power < 0) + return (0); + i = 0; + new_nb = 1; + while (i < power) + { + i++; + new_nb *= nb; + } + return (new_nb); +} void ft_putnbr_fd(int n, int fd) { diff --git a/utils/ft_putnbr_fd.o b/utils/ft_putnbr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..54ac8594c85db937fceac769d8c9850ead613b92 GIT binary patch literal 1784 zcmb_bO=uHA6rN4mYD?=DQ4kaj=tZPUS``FEA~HHc6%mRaENPl-e`tP6vRh*zT3HpB zrA2QQlwOM$Z-NJHYK621p?LOC5hZ~fA_R=Evc9)Fn=VW0$uG>j_rCY${mf?W)4@vt zK_D&!a-M8kE=x$hZCj7nYJ_w_v~NFgmSk1ryvoU>Is+r4M8o7OCK-73zYxFbJ9ffkg|#nE@$vx@D;Kl`e3Uf54`% z0=>oJ8|*pz_4_UIw#Kv%;U}ArSA5@avc9q`3sd|fhG`!|!)xLZXCA#!g9&OxeAEqD zOVq?0smNHNMD3i8d#QL#5Z@FXttdEmL2I6F zAh7b8H>p$8peFV*2Z!u_^g=^d;m+!CXS^YFRnEXxqBYb@w2D0%w04%(#rXq{4%HyF zK^xFcRj1X;7bs$&>eL`ZqiR}FL-AxRJsz5ov$@GkI@CWPg{5%cN!51t-x~nylyn-) z5VFq^M3}ungnX}XuzT0;r%?J3@VF44aJ#Ul_i^B2Pe))KA{^g2%U`Mt)j;AJz)MZ<9OhnxOCJ{0RS(+qHO15aRtv0MY9w!M+J=uP5G~ z8MrGv7N1KyEE8@Vv9trfwgVsHJa*)HdL-iG-T6j*ygOf@JxHXioQz3|oL7hx&!kdv zS|MXfbUJfK&Jrn|QDo`zwV}S85{pj}DVdx}MPrEs{29hEY+P2Nxyf0Xr;#V3W7$|r zwlkAT5%XA%ONtXIr(~7bD9F1hl>Y+{AW5)AqHmmh=JWB--DEpJLk^`E z5pKNm9q|7L(Cz&$ZjS4`KI23uNc@KI1Z?2TMBqEd9APv(_`~Z;9u8Hv9akRqaNf`p zSgZxybFS+uD8Nno!^51&yMbJ~{kt^I*J}R77W3mByXW2calYW7l>spatBEaso(qEa Zhw%50@7dow#w~Ml84UoQ!*}Sf{}*PuJ$3*9 literal 0 HcmV?d00001 diff --git a/libft/ft_putstr_fd.c b/utils/ft_putstr_fd.c similarity index 91% rename from libft/ft_putstr_fd.c rename to utils/ft_putstr_fd.c index 15457fa..794ac43 100644 --- a/libft/ft_putstr_fd.c +++ b/utils/ft_putstr_fd.c @@ -6,11 +6,11 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/05 00:32:38 by erey-bet #+# #+# */ -/* Updated: 2022/10/10 22:13:50 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:10:18 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" void ft_putstr_fd(char *s, int fd) { diff --git a/utils/ft_putstr_fd.o b/utils/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..99e5b55f25220699d6ba99a42d4dfdc1cecbe2bf GIT binary patch literal 1192 zcmb_b&r2IY6n>k;pQu@if}n>W6ne=Je-v^GX(e?Jp@KAr9wclw8!g@4NHQCuG*yTS zsTZ&Q2l`JG!9uw2U$oSE{NaZWjC5%>RxJbiDg(Oz3lgsi{F

X0?jb+7cD^cDdFtT^nk=yyNpGZM^`3dAm zn!%;wOax3N(HGl3*%^gXrN7lc@nyZFvgjbUqrM5sT?+x_Rml5GZW*0H{nLMhAp4~L uX~wc%@~@GL7sEQ516)ry7xnVKR8NrcV+6p_iQc`R6T-F-Qb_M4dj5YA`F%+M literal 0 HcmV?d00001 diff --git a/libft/ft_strlen.c b/utils/ft_strlen.c similarity index 88% rename from libft/ft_strlen.c rename to utils/ft_strlen.c index f12b894..f11ff3d 100644 --- a/libft/ft_strlen.c +++ b/utils/ft_strlen.c @@ -6,13 +6,13 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/07/15 11:46:17 by erey-bet #+# #+# */ -/* Updated: 2023/01/18 18:04:47 by erey-bet ### ########.fr */ +/* Updated: 2023/03/08 21:14:06 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#include "utils.h" -size_t ft_strlen(const char *str) +int ft_strlen(const char *str) { int i; diff --git a/utils/ft_strlen.o b/utils/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..96f823d257ec5ddd70ed7a777a538a6d4dd70195 GIT binary patch literal 1056 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 KlqnxZJLuoqj_vXQ literal 0 HcmV?d00001 diff --git a/libft/ft_get_size.c b/utils/utils.h similarity index 53% rename from libft/ft_get_size.c rename to utils/utils.h index ec08039..a51bcf2 100644 --- a/libft/ft_get_size.c +++ b/utils/utils.h @@ -1,29 +1,29 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ft_get_size.c :+: :+: :+: */ +/* utils.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2022/10/10 22:50:35 by erey-bet #+# #+# */ -/* Updated: 2022/10/11 22:14:29 by erey-bet ### ########.fr */ +/* Created: 2022/09/26 16:31:10 by erey-bet #+# #+# */ +/* Updated: 2023/03/12 16:49:53 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ -#include "libft.h" +#ifndef LIBFT_H +# define LIBFT_H -int ft_get_size(long n) -{ - long i; +# include +# include - if (n == 0) - return (1); - i = 0; - n *= (n > 0) - (n < 0); - while (n > 0) - { - i++; - n = n / 10; - } - return (i); -} +int ft_atoi(const char *nptr); +int ft_atoi_check(const char *nptr); +int ft_strlen(const char *str); +void *ft_calloc(size_t nitems, size_t size); +void ft_bzero(void *s, unsigned int n); +void *ft_memset(void *ptr, int v, size_t count); +void ft_putnbr_fd(int n, int fd); +void ft_putstr_fd(char *s, int fd); +void ft_putchar_fd(char c, int fd); + +#endif