From 9e58abcd5cd43bcd684ea75c64707677feb57ace Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Thu, 22 Dec 2022 17:54:17 +0100 Subject: [PATCH] kekw --- libftx/gnl | 1 - libftx/gnl/Makefile | 39 ++++++++++++ libftx/gnl/get_next_line.a | Bin 0 -> 6272 bytes libftx/gnl/get_next_line.c | 104 ++++++++++++++++++++++++++++++ libftx/gnl/get_next_line.h | 28 ++++++++ libftx/gnl/get_next_line.o | Bin 0 -> 3192 bytes libftx/gnl/get_next_line_utils.c | 106 +++++++++++++++++++++++++++++++ libftx/gnl/get_next_line_utils.o | Bin 0 -> 2648 bytes libftx/libft | 1 - libftx/libft/Makefile | 87 +++++++++++++++++++++++++ libftx/libft/ft_atoi.c | 39 ++++++++++++ libftx/libft/ft_atoi.o | Bin 0 -> 1760 bytes libftx/libft/ft_bzero.c | 18 ++++++ libftx/libft/ft_bzero.o | Bin 0 -> 1576 bytes libftx/libft/ft_calloc.c | 26 ++++++++ libftx/libft/ft_calloc.o | Bin 0 -> 1720 bytes libftx/libft/ft_isalnum.c | 22 +++++++ libftx/libft/ft_isalnum.o | Bin 0 -> 1432 bytes libftx/libft/ft_isalpha.c | 20 ++++++ libftx/libft/ft_isalpha.o | Bin 0 -> 1416 bytes libftx/libft/ft_isascii.c | 18 ++++++ libftx/libft/ft_isascii.o | Bin 0 -> 1408 bytes libftx/libft/ft_isdigit.c | 20 ++++++ libftx/libft/ft_isdigit.o | Bin 0 -> 1408 bytes libftx/libft/ft_isprint.c | 18 ++++++ libftx/libft/ft_isprint.o | Bin 0 -> 1408 bytes libftx/libft/ft_itoa.c | 55 ++++++++++++++++ libftx/libft/ft_itoa.o | Bin 0 -> 2224 bytes libftx/libft/ft_lstadd_back.c | 26 ++++++++ libftx/libft/ft_lstadd_front.c | 21 ++++++ libftx/libft/ft_lstclear.c | 27 ++++++++ libftx/libft/ft_lstdelone.c | 25 ++++++++ libftx/libft/ft_lstiter.c | 24 +++++++ libftx/libft/ft_lstlast.c | 22 +++++++ libftx/libft/ft_lstmap.c | 39 ++++++++++++ libftx/libft/ft_lstnew.c | 25 ++++++++ libftx/libft/ft_lstsize.c | 26 ++++++++ libftx/libft/ft_memchr.c | 31 +++++++++ libftx/libft/ft_memchr.o | Bin 0 -> 1456 bytes libftx/libft/ft_memcmp.c | 29 +++++++++ libftx/libft/ft_memcmp.o | Bin 0 -> 1512 bytes libftx/libft/ft_memcpy.c | 32 ++++++++++ libftx/libft/ft_memcpy.o | Bin 0 -> 1472 bytes libftx/libft/ft_memmove.c | 37 +++++++++++ libftx/libft/ft_memmove.o | Bin 0 -> 1696 bytes libftx/libft/ft_memset.c | 28 ++++++++ libftx/libft/ft_memset.o | Bin 0 -> 1432 bytes libftx/libft/ft_putchar_fd.c | 18 ++++++ libftx/libft/ft_putchar_fd.o | Bin 0 -> 1592 bytes libftx/libft/ft_putendl_fd.c | 21 ++++++ libftx/libft/ft_putendl_fd.o | Bin 0 -> 1672 bytes libftx/libft/ft_putnbr_fd.c | 34 ++++++++++ libftx/libft/ft_putnbr_fd.o | Bin 0 -> 1920 bytes libftx/libft/ft_putstr_fd.c | 21 ++++++ libftx/libft/ft_putstr_fd.o | Bin 0 -> 1616 bytes libftx/libft/ft_split.c | 92 +++++++++++++++++++++++++++ libftx/libft/ft_split.o | Bin 0 -> 2656 bytes libftx/libft/ft_strchr.c | 24 +++++++ libftx/libft/ft_strchr.o | Bin 0 -> 1416 bytes libftx/libft/ft_strdup.c | 31 +++++++++ libftx/libft/ft_strdup.o | Bin 0 -> 1744 bytes libftx/libft/ft_striteri.c | 27 ++++++++ libftx/libft/ft_striteri.o | Bin 0 -> 1464 bytes libftx/libft/ft_strjoin.c | 38 +++++++++++ libftx/libft/ft_strjoin.o | Bin 0 -> 1880 bytes libftx/libft/ft_strlcat.c | 25 ++++++++ libftx/libft/ft_strlcat.o | Bin 0 -> 1784 bytes libftx/libft/ft_strlcpy.c | 28 ++++++++ libftx/libft/ft_strlcpy.o | Bin 0 -> 1680 bytes libftx/libft/ft_strlen.c | 22 +++++++ libftx/libft/ft_strlen.o | Bin 0 -> 1408 bytes libftx/libft/ft_strmapi.c | 33 ++++++++++ libftx/libft/ft_strmapi.o | Bin 0 -> 1784 bytes libftx/libft/ft_strncmp.c | 25 ++++++++ libftx/libft/ft_strncmp.o | Bin 0 -> 1544 bytes libftx/libft/ft_strnstr.c | 35 ++++++++++ libftx/libft/ft_strnstr.o | Bin 0 -> 1776 bytes libftx/libft/ft_strrchr.c | 24 +++++++ libftx/libft/ft_strrchr.o | Bin 0 -> 1640 bytes libftx/libft/ft_strtrim.c | 44 +++++++++++++ libftx/libft/ft_strtrim.o | Bin 0 -> 2160 bytes libftx/libft/ft_substr.c | 35 ++++++++++ libftx/libft/ft_substr.o | Bin 0 -> 1800 bytes libftx/libft/ft_tolower.c | 18 ++++++ libftx/libft/ft_tolower.o | Bin 0 -> 1424 bytes libftx/libft/ft_toupper.c | 18 ++++++ libftx/libft/ft_toupper.o | Bin 0 -> 1424 bytes libftx/libft/libft.a | Bin 0 -> 58918 bytes libftx/libft/libft.h | 70 ++++++++++++++++++++ libftx/printf | 1 - libftx/printf/Makefile | 36 +++++++++++ libftx/printf/ft_dprintX.c | 18 ++++++ libftx/printf/ft_dprintX.o | Bin 0 -> 1728 bytes libftx/printf/ft_dprintarg.c | 34 ++++++++++ libftx/printf/ft_dprintarg.o | Bin 0 -> 2792 bytes libftx/printf/ft_dprintflag.c | 23 +++++++ libftx/printf/ft_dprintflag.o | Bin 0 -> 1776 bytes libftx/printf/ft_dprintl_base.c | 34 ++++++++++ libftx/printf/ft_dprintl_base.o | Bin 0 -> 1744 bytes libftx/printf/ft_dprintptr.c | 27 ++++++++ libftx/printf/ft_dprintptr.o | Bin 0 -> 1944 bytes libftx/printf/ft_dprintul.c | 18 ++++++ libftx/printf/ft_dprintul.o | Bin 0 -> 1728 bytes libftx/printf/ft_dprintul_base.c | 81 +++++++++++++++++++++++ libftx/printf/ft_dprintul_base.o | Bin 0 -> 2408 bytes libftx/printf/ft_dprintx.c | 18 ++++++ libftx/printf/ft_dprintx.o | Bin 0 -> 1720 bytes libftx/printf/ft_isarg.c | 29 +++++++++ libftx/printf/ft_isarg.o | Bin 0 -> 1640 bytes libftx/printf/ft_isdigit.c | 20 ++++++ libftx/printf/ft_isdigit.o | Bin 0 -> 1408 bytes libftx/printf/ft_printf.a | Bin 0 -> 30760 bytes libftx/printf/ft_printf.c | 24 +++++++ libftx/printf/ft_printf.h | 40 ++++++++++++ libftx/printf/ft_printf.o | Bin 0 -> 1824 bytes libftx/printf/ft_putchar_fd.c | 19 ++++++ libftx/printf/ft_putchar_fd.o | Bin 0 -> 1592 bytes libftx/printf/ft_putstr_fd.c | 25 ++++++++ libftx/printf/ft_putstr_fd.o | Bin 0 -> 1784 bytes libftx/printf/ft_skipflag.c | 30 +++++++++ libftx/printf/ft_skipflag.o | Bin 0 -> 1752 bytes libftx/printf/ft_strlen.c | 25 ++++++++ libftx/printf/ft_strlen.o | Bin 0 -> 1424 bytes libftx/printf/ft_vdprintf.c | 54 ++++++++++++++++ libftx/printf/ft_vdprintf.o | Bin 0 -> 2096 bytes libftx/printf/libftprintf.a | Bin 0 -> 30760 bytes 126 files changed, 2230 insertions(+), 3 deletions(-) delete mode 160000 libftx/gnl create mode 100644 libftx/gnl/Makefile create mode 100644 libftx/gnl/get_next_line.a create mode 100644 libftx/gnl/get_next_line.c create mode 100644 libftx/gnl/get_next_line.h create mode 100644 libftx/gnl/get_next_line.o create mode 100644 libftx/gnl/get_next_line_utils.c create mode 100644 libftx/gnl/get_next_line_utils.o delete mode 160000 libftx/libft create mode 100644 libftx/libft/Makefile create mode 100644 libftx/libft/ft_atoi.c create mode 100644 libftx/libft/ft_atoi.o create mode 100644 libftx/libft/ft_bzero.c create mode 100644 libftx/libft/ft_bzero.o create mode 100644 libftx/libft/ft_calloc.c create mode 100644 libftx/libft/ft_calloc.o create mode 100644 libftx/libft/ft_isalnum.c create mode 100644 libftx/libft/ft_isalnum.o create mode 100644 libftx/libft/ft_isalpha.c create mode 100644 libftx/libft/ft_isalpha.o create mode 100644 libftx/libft/ft_isascii.c create mode 100644 libftx/libft/ft_isascii.o create mode 100644 libftx/libft/ft_isdigit.c create mode 100644 libftx/libft/ft_isdigit.o create mode 100644 libftx/libft/ft_isprint.c create mode 100644 libftx/libft/ft_isprint.o create mode 100644 libftx/libft/ft_itoa.c create mode 100644 libftx/libft/ft_itoa.o create mode 100644 libftx/libft/ft_lstadd_back.c create mode 100644 libftx/libft/ft_lstadd_front.c create mode 100644 libftx/libft/ft_lstclear.c create mode 100644 libftx/libft/ft_lstdelone.c create mode 100644 libftx/libft/ft_lstiter.c create mode 100644 libftx/libft/ft_lstlast.c create mode 100644 libftx/libft/ft_lstmap.c create mode 100644 libftx/libft/ft_lstnew.c create mode 100644 libftx/libft/ft_lstsize.c create mode 100644 libftx/libft/ft_memchr.c create mode 100644 libftx/libft/ft_memchr.o create mode 100644 libftx/libft/ft_memcmp.c create mode 100644 libftx/libft/ft_memcmp.o create mode 100644 libftx/libft/ft_memcpy.c create mode 100644 libftx/libft/ft_memcpy.o create mode 100644 libftx/libft/ft_memmove.c create mode 100644 libftx/libft/ft_memmove.o create mode 100644 libftx/libft/ft_memset.c create mode 100644 libftx/libft/ft_memset.o create mode 100644 libftx/libft/ft_putchar_fd.c create mode 100644 libftx/libft/ft_putchar_fd.o create mode 100644 libftx/libft/ft_putendl_fd.c create mode 100644 libftx/libft/ft_putendl_fd.o create mode 100644 libftx/libft/ft_putnbr_fd.c create mode 100644 libftx/libft/ft_putnbr_fd.o create mode 100644 libftx/libft/ft_putstr_fd.c create mode 100644 libftx/libft/ft_putstr_fd.o create mode 100644 libftx/libft/ft_split.c create mode 100644 libftx/libft/ft_split.o create mode 100644 libftx/libft/ft_strchr.c create mode 100644 libftx/libft/ft_strchr.o create mode 100644 libftx/libft/ft_strdup.c create mode 100644 libftx/libft/ft_strdup.o create mode 100644 libftx/libft/ft_striteri.c create mode 100644 libftx/libft/ft_striteri.o create mode 100644 libftx/libft/ft_strjoin.c create mode 100644 libftx/libft/ft_strjoin.o create mode 100644 libftx/libft/ft_strlcat.c create mode 100644 libftx/libft/ft_strlcat.o create mode 100644 libftx/libft/ft_strlcpy.c create mode 100644 libftx/libft/ft_strlcpy.o create mode 100644 libftx/libft/ft_strlen.c create mode 100644 libftx/libft/ft_strlen.o create mode 100644 libftx/libft/ft_strmapi.c create mode 100644 libftx/libft/ft_strmapi.o create mode 100644 libftx/libft/ft_strncmp.c create mode 100644 libftx/libft/ft_strncmp.o create mode 100644 libftx/libft/ft_strnstr.c create mode 100644 libftx/libft/ft_strnstr.o create mode 100644 libftx/libft/ft_strrchr.c create mode 100644 libftx/libft/ft_strrchr.o create mode 100644 libftx/libft/ft_strtrim.c create mode 100644 libftx/libft/ft_strtrim.o create mode 100644 libftx/libft/ft_substr.c create mode 100644 libftx/libft/ft_substr.o create mode 100644 libftx/libft/ft_tolower.c create mode 100644 libftx/libft/ft_tolower.o create mode 100644 libftx/libft/ft_toupper.c create mode 100644 libftx/libft/ft_toupper.o create mode 100644 libftx/libft/libft.a create mode 100644 libftx/libft/libft.h delete mode 160000 libftx/printf create mode 100644 libftx/printf/Makefile create mode 100644 libftx/printf/ft_dprintX.c create mode 100644 libftx/printf/ft_dprintX.o create mode 100644 libftx/printf/ft_dprintarg.c create mode 100644 libftx/printf/ft_dprintarg.o create mode 100644 libftx/printf/ft_dprintflag.c create mode 100644 libftx/printf/ft_dprintflag.o create mode 100644 libftx/printf/ft_dprintl_base.c create mode 100644 libftx/printf/ft_dprintl_base.o create mode 100644 libftx/printf/ft_dprintptr.c create mode 100644 libftx/printf/ft_dprintptr.o create mode 100644 libftx/printf/ft_dprintul.c create mode 100644 libftx/printf/ft_dprintul.o create mode 100644 libftx/printf/ft_dprintul_base.c create mode 100644 libftx/printf/ft_dprintul_base.o create mode 100644 libftx/printf/ft_dprintx.c create mode 100644 libftx/printf/ft_dprintx.o create mode 100644 libftx/printf/ft_isarg.c create mode 100644 libftx/printf/ft_isarg.o create mode 100644 libftx/printf/ft_isdigit.c create mode 100644 libftx/printf/ft_isdigit.o create mode 100644 libftx/printf/ft_printf.a create mode 100644 libftx/printf/ft_printf.c create mode 100644 libftx/printf/ft_printf.h create mode 100644 libftx/printf/ft_printf.o create mode 100644 libftx/printf/ft_putchar_fd.c create mode 100644 libftx/printf/ft_putchar_fd.o create mode 100644 libftx/printf/ft_putstr_fd.c create mode 100644 libftx/printf/ft_putstr_fd.o create mode 100644 libftx/printf/ft_skipflag.c create mode 100644 libftx/printf/ft_skipflag.o create mode 100644 libftx/printf/ft_strlen.c create mode 100644 libftx/printf/ft_strlen.o create mode 100644 libftx/printf/ft_vdprintf.c create mode 100644 libftx/printf/ft_vdprintf.o create mode 100644 libftx/printf/libftprintf.a diff --git a/libftx/gnl b/libftx/gnl deleted file mode 160000 index 38ce802..0000000 --- a/libftx/gnl +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 38ce8029e589d6c70fe387ecfaa6a3219c63d3de diff --git a/libftx/gnl/Makefile b/libftx/gnl/Makefile new file mode 100644 index 0000000..429f249 --- /dev/null +++ b/libftx/gnl/Makefile @@ -0,0 +1,39 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: cchauvet ;~qR2^FSuV1a zxue?5WDhH15DNRE9c%w6bkMCGtgMvQGfkPZu~H9KDn?l}NI?QaRVXZjf%p5}d(ZQI z*V2;G1NYtge&^hKKJI;2=jcmEv!&dbdxuAoQ5v;g_1JzUlj%buF*WRY9$M`1_O^G! z^P+9KJb5}_&d--iSx=7(XN!3=Eal6UQqjE3m9ukaJP1z~AwDT$xon{@o1@HJ8J3sK zX!_CFvuY;LLS9D2Qh2whOlXhdG~r-Z-RQ>tGl+w88ys!yCFFd)ISJn8_9b0<3D~4 z_zEYtDG=2Cc2KLfy~NU9zOMOK33ra-(WrhLG%D@aZpT;&*ZnKC>XlgH$DaohG^%aA zgv^O66zkRft3d;;_Ez%5#l(S(tsfd>RtxfKnH3%gjn=MiCYBz?E0k-b?zdoIOAKu2 z^*e{mTv*r=!JeMbt4$z#_O_XkSpTcA=~*%EU891O9exLsw&Uf1_62 zfb1T_R(1fTXppOHh+S4Rpz^+J>pTAc^+k4y`>7Q|acs@l(6%6$Vsi;cgMhYA)$FZGo+vK5%Ql3`Hv6> zJ<3PO&xd@qE?7$u{zAxqhB)Y7e1!AgSA0Uf=&t~WypJ|rUJ*bH93i+6(x5jGj_tvq zB`^4^80?o9tADc(j?3QrEY@dCNy=CB7tn|=peLyqq8~vco;30*cEEU?hzm*Vz5t+? zJxBZCK_C1peekD&D|?J;wHLtN=p)aMfy7AfK>IJQCDJj1AmX%F@NW|Y5x)UV@aGAF zi0?)d{0{^{#CfL*-oltfoR^j051BZ+>zuK0UN#~>Z{hnaT>YNl-CbwHlDF3xH1VRm zz0Qci=@WTE_w>PiYaKfd$1R*^S?tgCS*Kvh+wobna6A6LvT*+7%K9%__)ZJ|y}@0- z-mv8D_1F8zzuQOtpMCHoY#@<6s7CscF=N3O%=?ss%XcPxk(clFSy$fJF}!2{4e{N3 zcJ1A_bHGcL@`Y@Q8Jw5O&Cbl^ix`}oo7@TG=!c?JfZe}uj>J+Z~(?(h)hmlmx*qJ{wIbF)mAi*r<^Ij>RJ;fO&hm1@} zb0ri^)sIg7h@ zCFk1Tp{#L^H_7%J0TaWP(12M$A#;1qKj#%97l7ev7nWluV0ce#*i)6#u1X zA}M2A^qgyuVY;%v)$_&8aEW;{pTBoDx%U4W%wF+3Yy{`cWZu=hFJ!*N?}xw!AKaWp zw}2MX%SMp#A#py*wf_n*vqg$8k5OaP&&>pO+)`J6q(}+t6kV0{s#(Sk9X$L=YnCP* zHlNnq$jcXRhKS1K6EFGQ^q=d03I1K_2KV^w#9|~Zo>6kh!xJw_ zo#IpylH4Do2E+uMT)F^V{@#dd~;##7%8bf~E?7WTNZcJ%e z70>92i&l=`r=C#7ixff)ze|;gm7#d;Dm?s*)(D4{mUibKT1!~GL~5!`7#|cJZRJDV zzl7}HWa5qLB~%4LZ7mil`qmN7b+^n}r{*=krB>15z8_Hx^O3HYGP&L!}RKrzb*Th6N|jUWt(O1 ze*&W~pZ70^Mw=tMwd=pp=F$7`#Dq~*%6Zk;4xG6735&Dqsm)%aYhi8lN?1EF|0g}d zN60@O@)ZtNnir$+2k(ec;1)nnqLKd2hwum93FkjU9P~RrLjH@2PpB8w0QRcQDBG(B z;|1sbUQ_l7G`kj3F#yJmB%U$9UCK6Kw;McZehZY(z<5Vdeic1QV!|(x_>}o!Q855k zLhEJEIB*hwa_n6BZljMle*z?j{zf1CxP^0$$iHjhbWL!n87OPxPaC_5+v_CpP9ocg zsP~L|ZsDuueagWlehUsRaeCIlWgmui?HufxBfEcCN_u=98F4h@)d_esv7HJ36z!GT zn!hc#C%DFkPt*MZlg$x~EOUp+1DG?}WVSbiu9ee%~5?0H{*=D*ylh literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.c b/libftx/gnl/get_next_line.c new file mode 100644 index 0000000..ea16fc6 --- /dev/null +++ b/libftx/gnl/get_next_line.c @@ -0,0 +1,104 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet +# include +# ifndef BUFFER_SIZE +# define BUFFER_SIZE 42 +# endif + +void *ft_calloc(size_t nmemb, size_t size); +void *ft_realloc(void *ptr, size_t size); +char *ft_strfjoin(char *dst, char *src); +char *ft_strndup(char *src, size_t n); +size_t ft_strlen(char *str); +ssize_t ft_strchr(char *str, char c); +char *get_next_line(int fd); +#endif diff --git a/libftx/gnl/get_next_line.o b/libftx/gnl/get_next_line.o new file mode 100644 index 0000000000000000000000000000000000000000..91cbeedeefe49b89afc463d4b198f4fba66fe16e GIT binary patch literal 3192 zcmbuBO^91n6vyvN+L>wRBZH`j3Js_mrLWWaf#4vK8v7Qdi^5O@C1x@&GgFh7@{){E zj1HzFgdhwqR8Y{33qiz%U=dqI3w7b5o9>E47$E~$jL^j_g!uozch8%fN1}oU-n-}i z&bjBD`|)n_cJ}NG3CmInl^n@yP<;a1a3Dk_5hUb#g{=;eY)9vP+A07k0#=$*0 zIPGlDX*GK)wKdD`jqE=0?jl~D<{hU~?|t_u^uW2D-Dx#_;wxy=RLVZy0>e;KA<+`tdk@!{3aP)aylmGtLRkIVajgo*BclMjUe; zE*P9=S?Vv0iBmHC&Gor#aC7}XH8_8ACH|KNpEUS4n#bpL)$ljt-yGwAYmEPIV|W@h zP-spDTKLLnUHGQ%zY^o}orzui<$L`s?yu`OIx&BEYI^3#?A&BR*}hxK+cmdQQ+AubsPxIo%%DU(!*HgAvsk!!<^)GR-JNLyzb0ohkA9zkqSn`aP{38+tJBYTg$zUe@m& qu;kf61R|nw@M{lS#==%2tdP zCM(J2QUnj8g1uExss}+lgy0r;6~q-R4ZUnGLIOh5lPd`E`@MN@GMUDkAIyC3{l4#g z|KB9<8|ThO6opAr*b8jDlPF`|nekfZOPxJTni;eChw1*AG@G@d*{t?Ww>D&I{RpX; zEu(L$H;rNHr{>S*U)7;`%IK^00}yQ)doVI6aXmV!-mLZefXt@RBO^Vgu1{#5hHT5| za-EjZHCt&|PY=zL+p7Bnq%AtxN_T&Z#j)<1Zbu<&-N7%T(TEG1#vbuK)4i2k*es~? zXP6g1V&`#Bx_r)a>4nuYhH$C2V{vznGJM4INC|T<{lQ(&OP^eFFAJOMye{jb`}Jwn zhBD7>vn7*m)wWG#%XGJtHmWZ*b||c!a3yxUuzJLpDEC=f4*1>+v*(BTB$NcWaVSp9 z9ZI9u;7ckr5570JMZpULGCry`fg|$Jr*vNlc<7_bCiT?)feM`Is_ipzg%@Ss^Trhd z-ppvaOCATEfEUqi#4~P-PHoZD`8rZzHICYxJ&>l|{ zT1#on##0^lZ`LsGsP%)~9!(L3_QMWg8^)a*in{&~2?l|(cD+RT=y_!wPu_JD5Mwz` z5tHYqSh$A!qc`a4)P@b?UT6wY|G~N!YLA%TNrbAlGxt)RlfN~LUA6w$gwPw&k0|Kf z4P)02T8!+t>tA`{A$xyf{Hk*2anG)wz``cWT&UVkHIXmo?B&E|tFpRMwiBu2T2f0M zd#1{TsrQc4?pf^wV}}qnk@C*#Oj(;#j?B))uhEDz*B-;#zW zdmcE^8+iHh^S+$pBue4RNO|yp2AGo;(P{yth_Gmz#*MKlI61X1q4)NG%`Lw_j;^WM7CJf&w=y!;NWKD1r zfiH@Xcnt`v&@(NbG~u8aJ^ShT2kj?1A^ZWyPk_W<`Vahk0LK}re>;F9HHn`R@j*9; ze-glhb`qoqf>@~Vz0Tibyd(CDAzaq)Y6zEg`aFcoKE(FVM448xiaE`()*Png%cYWK zJFMVjSDi}!VnwX%rRpWIEWA}-vBkP**-W#`j-|c)YUbFglgq!&v|{mcDVtkbqC2!K zj9VA8g-Whuu|mbNSSeR5mh&)?_g2f6leNizwzy(j*{ZWrT-EYSqX?Yb1>#pq;Qs@C zOg6*_PFOoC{s(+9fztgB?f20h7@14&-(eFV8NYUyJB+twIUn4AfZiL^ttMvHvl<1$djq{*zuGa|*#}2*2`1vCmdW@e#E5rW(1^%)< A$N&HU literal 0 HcmV?d00001 diff --git a/libftx/libft b/libftx/libft deleted file mode 160000 index 7ca0dfb..0000000 --- a/libftx/libft +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7ca0dfbc542795f8ecdb007f66a3193942a593e3 diff --git a/libftx/libft/Makefile b/libftx/libft/Makefile new file mode 100644 index 0000000..c45b445 --- /dev/null +++ b/libftx/libft/Makefile @@ -0,0 +1,87 @@ +:# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: cchauvet l71Tpe zSaR`C@aWB(;6>sGR!`nC zPUH30fY#9J&KsE)epS~R)n?2wTHfY>cD9??^rO1{zGk$-&yBs0Z`ph@Ii;V^{1SRFY!zLS8_w0pOhwi(gJLxV@2 zz?Yo@4jt_qK8&N0$ARSNK;ScEAfYxqls@)jU-dSqoFw)_-Sn!0Zuh+$MnN|4C+YHo zf8o^)2i;TYm5e}m+|#G~?ZBM?$8+@C1Q05ot%$5CN_oCSh-K%~3$run?84mKZDTRJ zI5V3zviLS%SHA#;Zk}Znc)_dkr}JOM31Q#5bj02kbREKjLx#Fx9W$ zkowD%C|AG!4)Ch^jVb1bTGG?}RJF0xGwNTi`0orU^vL;V2Ne4tKWGvIkIC&0nPY%d O`j{lw4>LQ!uRj2MpTng9 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_bzero.c b/libftx/libft/ft_bzero.c new file mode 100644 index 0000000..7947aeb --- /dev/null +++ b/libftx/libft/ft_bzero.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_bzero.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet `DdgLAG788)UJd-J`^0om#NjEy)D71@#~Z zi{;RcE)2;F%Kz8{q>+oc_$T2wXTEIY4$9HYpF>A%4o zpP7J{S8V598K+b+yr9*Y-yN|_sMJSOZX!^I!-fc=U7ieB?~e;XyR){s(h1gDtw-K^ zu)ea|@d8?od7N@Vxv$CtXhvsHe;pO#N}QgL_Jjafx)X~qLMxKOZYnR~TOkvCD1bc; zMF=cPQ((P89P>V6{ej>N-^5}n!rpTkKkH{~I~i>AMC<^|Gw{t|BMDzb0|>#cfHRX()#-R3GL1SAHG2 zl(UAai#mVO{Z$>yNK(Gef2RkUZ|=R1YxI|ly&;Sh-$h>+)jx$r=ul3R|6Xpmqc%!w z@*g8!Hoqq&^CPa}&&hmcXVcPwTzBP#>EAhpYVrv)XGc^=o`0JHP0aqC$F(y4Q1aCr IRSJ{;8dfwYo6Wkt=nrOR=J)2~?ab~|qh3vD8YpOR2d184 z0fxz`UGmHlWFQSc7BBy5aQ8Fc|E6Qxat^*9#hoT&Crx)zx0%gKdbgkD$V#OCu z(S)uSNMWrV%kER}8a)uS!_z3gk9-Is5yYoa6tAOAz`c9oIrLzI?XECesD@52d9C zjBlv dq~MwCf18{TWVwJji&k9zf+RaZq;Ev?{{Zp^qq+b9 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalnum.c b/libftx/libft/ft_isalnum.c new file mode 100644 index 0000000..92bd4f5 --- /dev/null +++ b/libftx/libft/ft_isalnum.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isalnum.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = c && c >= '0') + || ('z' >= c && c >= 'a') + || ('Z' >= c && c >= 'A')) + return (1); + return (0); +} diff --git a/libftx/libft/ft_isalnum.o b/libftx/libft/ft_isalnum.o new file mode 100644 index 0000000000000000000000000000000000000000..d3c509e15db229e429e684ee65e13770cd696627 GIT binary patch literal 1432 zcmbVLK}#D^5T4CyqHVOXct}x7dTI;$+=vAgS{6cT57I*+Pzqug$|k0gDB%;3i@e z;7jhtcQe<8BHV||2am5BZ%%%kbgqv(*Gp+0*SWNe>tW`9OpEA$NXKw>j|vym`{(cl zby)ibE4A8kM-ic+XmoRUkS5O zNhZ4ntiyL;?U$^nVqxSIH=RbDl;kBX_3_f@Tx~2bv4G-RgytQB-+u?C?SVH%vuKy4 z5$)cT8i=l)ou(h7$cFs?V1^fN!RaRYWgNqY+MLQ#0flm8F(S7+P+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalpha.c b/libftx/libft/ft_isalpha.c new file mode 100644 index 0000000..9573931 --- /dev/null +++ b/libftx/libft/ft_isalpha.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isalpha.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = c && c >= 'a') || ('Z' >= c && c >= 'A')) + return (1); + return (0); +} diff --git a/libftx/libft/ft_isalpha.o b/libftx/libft/ft_isalpha.o new file mode 100644 index 0000000000000000000000000000000000000000..1f29db1494a02ae010b82c0e928e59aea46b6b4d GIT binary patch literal 1416 zcmbVLPiq=M6o2a)wXG(m^w5$}Hm5WY2Mre59?F8)t8#4tdL0dHZNNfh9F zWE$H+XhRYn!S&Mff2EzXUuP%duP5WE^S(L+3h~{KU1;o${zGfDq z%!Jr&Fu>z?;B*qRvWV$pWzOK+spXKDKl@IjQ+HTZNhI460e#8L*D$}|c&%Mys zWyIYc2lmO~4zP;v1FN>1O}B+utIb`8*Ol?PQ~e_HTC2-CUc2LZybsKC8xC{pQT~!axeOgVL{Dqze8Tj*Bg$`aP|qk)M8Fed8KZf8OUz%J JbcTV>{|`$@VqpLP literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isascii.c b/libftx/libft/ft_isascii.c new file mode 100644 index 0000000..5706106 --- /dev/null +++ b/libftx/libft/ft_isascii.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isascii.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = 0 && 127 >= c) + return (1); + return (0); +} diff --git a/libftx/libft/ft_isascii.o b/libftx/libft/ft_isascii.o new file mode 100644 index 0000000000000000000000000000000000000000..0e5035bcf7a29d3236d7f002fa1eb8d2c6283da7 GIT binary patch literal 1408 zcmbVLy-Pze5Wm-_)^DpgC>5!Ls9-}Y71TirrPe_lgo1-2ul3m$?Fa9rPz9|Z2yVLh zr#K4!BQ8!Zikk>}_nOo+wu=YJ-Tf}V%jJ^PlUo};!vHA;ti!J-QGiR|uO0WyI1Iu7 ze2h$grZ;b1ZqC21&cC2Ggmb;_f1n(%-4C>K{|Qow#9C-RovD_1HMGiNEE0}ZJuiB( z6k(AVi!L;9FEvhGI087jaiq4>fZIP3X5t_jZzwR%cEG3wjNqWZ_ZByuLYxN4EKSMb zz_l+i)U$^R$nPLjZx_6Ow+owXJ3_T6O;Lzuvq}X-)AUZ$ijikR&tK5P{T*=XM5_#= zJEqj>ot>5(@q>bEx!FR2Wfe!VL&Bhww48>yr$ugMfVtdh=)APJUE{zGEp7qJxGu14 zxmdJIh?UCRW_Vp;ms{Cm;pa+KR&mM|+u^6c9Q(v#cK+bVv5K~=;{Q5`RJuF8gK?3v z*$3g%T2*GyAxyq28S7M<&Ywd9y{rH77m-UjBREu%`%_#MxxduQ7?ifU?oM?STVI>R z7`?KVyGQ?Ca6&>$rT?LQ3{Xy;@BMtlS0qtroxh7Xz2>-xHVC8-ht4NVzdMBBSu|>r97Xj0jbf}Fe?rusQ@CX6{2!cfTg(6e literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isdigit.c b/libftx/libft/ft_isdigit.c new file mode 100644 index 0000000..0db99f6 --- /dev/null +++ b/libftx/libft/ft_isdigit.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isdigit.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = c && c >= '0') + return (1); + return (0); +} diff --git a/libftx/libft/ft_isdigit.o b/libftx/libft/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..234f0bbd5688cc89b55a548777148fd21f318666 GIT binary patch literal 1408 zcmbVL&r3o<5T56&>~|I&3?u9i71X9tP#r=Lt3z}MgbqbK?P*eKythIHS`Y-@>eip) zG3X!Z(y2?)ErObP?%KNPrGed<`DVY_+1cHz#P){IFhGg{>+tJI6yVzTYsWk@2K~?n zA43zL$*t;3wfuEc{#v~nz9CIU_h!k^56z6}i9E%NUfly6#?e6kA`L zz!<%db~S+7z7(KP+jG-BkL(D4`a@n8#_I?*Wo z=ng4$`e&ylS$=TjmE0qTvy9?Mc32p6l7`bT@2tSBG%%05HJz6hw@*2+LyKF$(w+w_ zQ!Es02QjC}ZHCvi;BhN+Ec~2PW+k^+vR!@#%(YJ}X6FyGu2ryQ75~>`NTs{eI~Wrw z>wOSDtyN_T9m3?hlCf5$>HHZa(7XCCe;&D%GlD}Exj)5Kk^4)%j6rFu>+V%YvGuhH zjL|D=xO?;;1Sc%CRQey<#{lKj`ToyGd_@w4*7>`L(`$~2cwLEvBLe6`O?67X#GCC+ qly{m?r0zzWa_D@*^t(d{UPPlt$x%e_-yp`C@kd1cIfYB6&i?^ehFmxR literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_itoa.c b/libftx/libft/ft_itoa.c new file mode 100644 index 0000000..eeeb6f8 --- /dev/null +++ b/libftx/libft/ft_itoa.c @@ -0,0 +1,55 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_itoa.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet `d+5Q75N!^M1&b8o%NoP4-Hqty5>r=g1O*B4N-KG7fP#h*lmHV~w0y1t*0y=F zzdXVYqvo#E*yuM_(rlcU%C7;O#J9+P4LvK@?Tf2yVgB9X;-c2^vZNI&K~^e$m07v? zDIk@lLU)lZu=1Q1YD~r!9(UU6Dl6567b~(;-|EAH_0(C`w$@_W$zEpz%uPmJFL4p~LA*8%2h#jSz_p ztqpuHl3iGjsKePSWQVcQx%lN2f@b`}U-;l(I3!FxX=V&1N?LkMk0r;Grl6n?4PWl> z8`dum4qj77^pU>)VO6KuX)_zMrXXcZPG+K@qisa*=+TKgdcsIf0!;9N@g6x}yN+*< zB*i)1tu}0ezwq#O55Gwl0fqcKunGSl>Liq(nve)r1Q+`W%Jgi?G{$f=v+g({v}}CR zP|Wy@2};Z`4N%6Wr$NbPTqBxErQ&IvOJ~fuf^Vb8`BrX^r!8eFo0*Dd%~_10Oz{al zku_3rQPO{nL5!v?@ZXpSGLk6YAJ=kyg-+uEY_xX~Y+mUih;qy60q8wYDshwdaej<* z|I2#jTbH|gUX)9Y<3Kt8H9m~7w3PRZ(FC!+pZm)?&ExT>SSQc9Bh}{>5iiDmoD{m( z?|n1a#P=#P`fK>>T;lOTob!snext = new; +} diff --git a/libftx/libft/ft_lstadd_front.c b/libftx/libft/ft_lstadd_front.c new file mode 100644 index 0000000..b17cc46 --- /dev/null +++ b/libftx/libft/ft_lstadd_front.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstadd_front.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet next = *lst; + *lst = new; +} diff --git a/libftx/libft/ft_lstclear.c b/libftx/libft/ft_lstclear.c new file mode 100644 index 0000000..e29060a --- /dev/null +++ b/libftx/libft/ft_lstclear.c @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstclear.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet next; + ft_lstdelone(*lst, del); + *lst = next; + } +} diff --git a/libftx/libft/ft_lstdelone.c b/libftx/libft/ft_lstdelone.c new file mode 100644 index 0000000..73ac454 --- /dev/null +++ b/libftx/libft/ft_lstdelone.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstdelone.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet content != NULL) + del(lst->content); + free(lst); + } +} diff --git a/libftx/libft/ft_lstiter.c b/libftx/libft/ft_lstiter.c new file mode 100644 index 0000000..1baa94d --- /dev/null +++ b/libftx/libft/ft_lstiter.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstiter.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet content); + lst = lst->next; + } +} diff --git a/libftx/libft/ft_lstlast.c b/libftx/libft/ft_lstlast.c new file mode 100644 index 0000000..ba0d9d7 --- /dev/null +++ b/libftx/libft/ft_lstlast.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstlast.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet next != NULL) + lst = lst->next; + return (lst); +} diff --git a/libftx/libft/ft_lstmap.c b/libftx/libft/ft_lstmap.c new file mode 100644 index 0000000..ed99c7c --- /dev/null +++ b/libftx/libft/ft_lstmap.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstmap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet content)); + if (root == NULL) + return (NULL); + last = root; + lst = lst->next; + while (lst != NULL) + { + last->next = ft_lstnew(f(lst->content)); + if (last->next == NULL) + { + ft_lstclear(&root, del); + return (NULL); + } + lst = lst->next; + last = last->next; + } + return (root); +} diff --git a/libftx/libft/ft_lstnew.c b/libftx/libft/ft_lstnew.c new file mode 100644 index 0000000..705733e --- /dev/null +++ b/libftx/libft/ft_lstnew.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstnew.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet next = NULL; + new->content = content; + return (new); +} diff --git a/libftx/libft/ft_lstsize.c b/libftx/libft/ft_lstsize.c new file mode 100644 index 0000000..fa39de9 --- /dev/null +++ b/libftx/libft/ft_lstsize.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstsize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet next; + } + return (count); +} diff --git a/libftx/libft/ft_memchr.c b/libftx/libft/ft_memchr.c new file mode 100644 index 0000000..28f3775 --- /dev/null +++ b/libftx/libft/ft_memchr.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memchr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet HN{L>fNH<3L%$kKh0`MaXW4@Aa~dwl;jKN6pLpXv{< zik^RrxxR4rrryI6KT696bT}hk^1hQ7+~vFR*AK*6{RGR6#+~ZC-%L9)t=?vf%v-3X zc~pCT(_`Kut6d-9L>NP@pq@fqe&_?X{gE&im1JgMz}a~O&Q`^lo18fP1_!=`I4Ma$ zAAY{_s?;ctmsYTXfMTJu8iVh@in4CuNm4JyVH!mDq)P)t*UhIH#VB%N{7*2)C;o!d zNsLMv!wW{A`Rr7(F4v+kYPDn58u|cL%AwE%BU7+sJCZ>YSR&(rZEH`4TN2pgKnB2? zNdm0ZjiRuFSf?vPhS#)^$e{H^#T%WJZN}ZrFqYfE;_zv}!uHyF97JKh^?!ZlkWF`H zpIlw7dNRL?sn(P$7!ao4lg_=>j%98BHO$j<`d9u9QnPIUbHt+=GCCOkF$u;8aAIW`|c2eS+)N~3JkH&ZyIw&e4+Ro2A5o${~K>Cc!mG~ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcmp.c b/libftx/libft/ft_memcmp.c new file mode 100644 index 0000000..d9460f3 --- /dev/null +++ b/libftx/libft/ft_memcmp.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memcmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet UUXn~X1(zBKRMEod4@(clhD zB8dV-g^6E_-5SinIrw2*{b}*uSKd4L!h7L}_pBj5JQzY)d{1THeBL)PW1gVJta-{m zno*pY=7(ma@xDc=h-)KbP~!djr%5z42C#MxEn>0p|4l{p(F<$%&PB)R3c?>To=Zt%&lI>v2b=;=gWzC5XP^KITb&%?U z`TK5QH-Pzpm)Mr{0%tD(_S6n+U=7~~*6g^h(?+b_2^@xFTJZzBxhvwGcF4M3r|WpZ zJ}}RDW;3U?we8ui6L0-rpG9QT%(6FE6RVE<7cteUat#B*y*6Dd*POXU;y{^>kF`gCtGWx1yf1OQCQfZdIB=~D8 z8T~B(F=F(JYpANU#DbRvcm^$MFqi2Y9}Ksk#_Yh?L^WoL&FJQVw1qCgR` U>=-$ZULOCI;O~qp6DQ064Q3{fcmMzZ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcpy.c b/libftx/libft/ft_memcpy.c new file mode 100644 index 0000000..ff412ad --- /dev/null +++ b/libftx/libft/ft_memcpy.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet HS`qSabH=gVdcoO${;vDgV{Q<;fG<}Fmyk`%NIjuagM`*Fe zKH(qjA+)o<2i;He@8ONk5A30q=I+`@!DsYFn;&4kUcX~5IgPj# z#pZ3c!m7))IE`vAZ&g`!h1G71aqK^XT0uR9y8g%k9OIBM1C`|B*nsxpF=%@gZExuieE3Id9S?rsLY|0>EFg*QuQQ7%^@8k18hAi736%``@l z0i{2|6rcSIPB$?vWehJU=S*j(lI>{A_xxt3%bJ-FU{Vf+CYYLngw>z#3r)tl9Q`uZ38v9eE6&X*rDC<}(rRv|`o?+8r;5y1)YOxy!uWt?j_| zy>#pUS{9K_Zt^1+|il48wF-Kq5)Z1hH6_vzH*KEoEI-8iHo_W4J)LKSOy*z&dQTmFl zG@C7!Xn0vbXVB6)C12u&dt=?27<44~XVFrRJfE=q+Yx0+?0<;@MMT>PvVdL@e?#zh KCY56+&;Jd_F@S~u literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memmove.c b/libftx/libft/ft_memmove.c new file mode 100644 index 0000000..84283b8 --- /dev/null +++ b/libftx/libft/ft_memmove.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memmove.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet 0`U;>QbedTyYDrdb-n1o?96;S-^|;Yx6kxkMpYD$qQFfU zMG^(rij4e}>!u(E)9_>V;?F#HzVi0B6nFM|+_Agd$sh3cUJvXTnl9K;-qCx53O%`_ z57AXu6JOSU2 z!rn$gH$Z2Rrx|BO+|!R^6h$EVC+Omnf5F2K9C4>IPMN{*tnZxew<9)(N^=a#RRqFt z*tQC$VVbqa1}pmlC}eXRYpc1!MkaGt-z;pduI2QCNGR7^vi?2c(5_CS{yOqR6FBaX zb~zH(Y?)TE1gvQ_JX?`o!`LY@%hY~djauDkSS?^~1*1~fZWK*p)bl?)4Y_nzf}2bsMk43#MP9D-$@V#KzLdT{PYnY@ za&I96=o!)l5XhBU?ebrxgRdw$^5ANQsISy!X;3kxj zMgiW|O1~-HCd|Sy_;KRg&nPUuhQ-tUBHs&(Xb|>;{jdlQ!cW1FR(?Aj_M-zthoSSi zAML&J!WY5Nk-&{$kbWV;+DBMzwXWAMM(w;S^7=Kl!u+L1E~Cb?WuN>Z`|C|N1NTvP2j?q9{U)|B%Y5T@Ug z&b`)-Wo`Zi%+quFSN>(>(w;u5Df)cMo1)Lx_6jDoZ?1c128M614KPQqYvS%Pey=!n zWwo(?I%}AqJ#GF#5w2>YvNrz#;`EA}DzD9g+HgSuN6=E8ny>Myvx(xVM&&;f#z#?U h51UVzeRl|r8#*I{@?+0$9#d6(U)8@^Ql)3}e*=|DtHht{uhD=FXCm9K%LoruX(#}Fa2QN%zW?7o5{S{yfYisoTh<<1}iY} zBnuGcCU!Y8%Po;ALNv2rNQ@pU8^e7x7ysCu1WW{}2Dvc|rgH literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putendl_fd.c b/libftx/libft/ft_putendl_fd.c new file mode 100644 index 0000000..29715c8 --- /dev/null +++ b/libftx/libft/ft_putendl_fd.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putendl_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet oANTf>bLDPgy7713gIm)t0HVrhtNZv{-)E)}L zl1u&%Fa8G>1jU;t@gEQby@)vk5$ep__nO`9=Ar{HGvBxK&AfeYHhX%h5YseJronxf zAjJY0@kyK&VHOr30l&^({#`cQug3n5q~Y$4U1wzM?~Z|A9h67LKp(rG4fn%0QVjHw z`~K}Ij0F6y4L`nvVm`l`x>2q;ZSJJ*v1OKC$~XdLUfxc#^fJrb^mx$}X3!;ZoxoLm zRE8M90dZ=37ceH%UOWM9JE<)u=H`d^LYI)EMfQMx^fSp6GLIDKh^h} z>aYANK2)(k@3kNJ;&ARmd`4eeV1^LCk(!kB%Bk~HxPk%I4C_D1gcX%2eOUht`KbFl zkOkE}(fyHD=@lQ;D2g_mMmR literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putnbr_fd.c b/libftx/libft/ft_putnbr_fd.c new file mode 100644 index 0000000..b47899b --- /dev/null +++ b/libftx/libft/ft_putnbr_fd.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putnbr_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet 9) + { + ft_putnbr_fd(n / 10, fd); + ft_putnbr_fd(n % 10, fd); + } + else + ft_putchar_fd(n + 48, fd); +} diff --git a/libftx/libft/ft_putnbr_fd.o b/libftx/libft/ft_putnbr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..0475e4db681e1d7c53b8baba57b494bb8b24e529 GIT binary patch literal 1920 zcmbu8&1(};5Wr`X+7E4Q6a}GvEL6mTT@tOJJxJP;Hb^w0&9N+-bki1_G$gyw3av^( zSaPs`gQxxpo;0bbwWr`gMLY;1)Q^jJFqB}N*?q5lyKXKzFnKe-H}mG@&FtM+Vmu&8 zz(s;9u;+0K5N#7|+l)dFbi>cylRK%n^*O%!J!CC6EVF)pxqHt$ZoPQ=yV-1R zQ-b5d{8p#!etCp!6=Ro9J3E8uv%to$ch-hYt+zJ%wuq5kD^ulIBc7?n=U&fbv)Op{ zt6bd)RO_b(T*2jQ7*vhVRh*!0+1kJ`Yts(2YSoVcsU}qhs@9gP#8EtawG!@qQYokE z)*I`kU3u-*Gng0~89-s7 z?IhiW-^QI4v~TZb|Sx9D9qZD4}3^S-_U8oHlUy_S0cv9d8 zg!r_;#d99E;Lls|4+0m@ml?eYv@|Fsqv))&+$!qxnqugS1}M{-p@EVv zl|acXzJ3Zi{hAKj;&C6&ZcSt{FoA2FsVx7KOhbXK6Gj)SF*m`ImSg zTfO;H$o=~Fm^~=(6ZMaBc|PZUwW-uPzdu{)+oA8!n@`N!J4CR_{?G_Hg0SOu$sx4- O@@ovv??yU?H~$a+i3u41 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putstr_fd.c b/libftx/libft/ft_putstr_fd.c new file mode 100644 index 0000000..d8c87d2 --- /dev/null +++ b/libftx/libft/ft_putstr_fd.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet StMG~<|xZ1-B@Y!hs|4Th3cUq zu0`la@KY4=R1gGD9`y?dLcNGR1QF`Y?t95*yIwjlnVH{vznRI*+ZSe~lu;CrqQGq! zL=pwi)PbK5-8@XdIQ*WR{!_Jr@7C5&%?dVqfq!6aZT5g?_ouCGvuC}%uUJ8~w|)2E z1Ld`XPr;WTlz>hrcj4up|8-y4`TP;e#p1kvwOaFA+}G#WEHkn>Ka6tEZy3y&Ww~n+ zj_eUs4fO{*83Ke^?RC;JG*-M3mifO}B?+JHh{+q&~U7bPw zdl-o>aNHy9av-d`(d14I7?zCeiu62p&0*YK=fIX7?f|QGyTI!0X47pU)@pN?;oHb| zxl>;i@#B`yI$pcudVB*|n897K8=lkbw>YSM3{OW6y_Mu9^N5kixkpiSSNde9P-!-K z)VOrSP%aAaG+L@7Ux37~2t4`n-UwdOP>#4<$AEGkm!Cr}u+qr+$+(6NBZkWZ1J(6~2HrOMoVNF`U{;Hno3p_=z*XYBQMbLo?2-<#k2 znD;TWU$gnyn5Kau4L*dyPN4wC*g#GRF$LoghsTLm|4no60k8gJaIezlp4;NpN*kOR zzQwv^x$_!dXI;K=;1AlN+~(S!d>y#A)fPyVbv0pflC|u6!a%BOq`!N+e+VAnb=KIn zIKdqg>YaT5pwqm{+7zmt_yyi&+wNW|U$48{ebI@dSy$T`4Ou&p*6vMo>|X5Wa2_k= zSZM<*t#dD3^BQaH7N*b?wQRAL%7Pds> ze9PTG3}Nc`g@MP~BIO7lXE&d>u-D#iRJnHtzfHaoS3_v+plGPL6CVRb}u&MseKO1yRU5%$FcP+7*7IX1~ z9>k#BV;zjq;nljve{Jc5?C=UzD_u}ipB7ewOVy=hx2X4!*!&oyrrUhorC42x@d3rg zLgbwpA^h%bn46h7VH{59+>+xO@0rKVbk3IK2KBz;8(;~9y!}d*l7n>R16T5&GzV3a(k*?FH zum4Ku4TLTbj&zJ3sM52luD`DJZN4D`q@U@dY+^qOJwdw>g&cuLy(qmN`A49dRn@~@ zy6Dm{7RPNY5J&U?v6m#S_M&#g42eHPP9$pfMLcznl!loOfuB@Br2{rNf^;#(VZ}SR zrTK=5ArOV1-UVMkd_UGZi5G-O%mevFTv2gg*~yew3!gh?p2U2%l(z~3v@R8_l9Ysn zW7&|In?EysYCdyjcJ@45$SjNF`~_2lW;HFEp+sm#6>+$;R;e`)ZZ;i z@CD@Lt8V%$5`RPD;g|X(bgndi>ioB5%xCqVlIJJY0g|ipDSnVt{feJJrILeoN5Tn7 zW!RS9C;b(|uJ-isLhW5fQ>BNo-FHFgl|6W98l>becekjcpMsg&St8AGu5B9YVh=LBy(=phOXe`CWu~B9U{N%njzrx?9<#`@Q0#} z->{rc&s&q(Tu|bH^_?YId^!@%F5O1Al?&%J!XWBH~JU{MZ*CTN+0`3FVr z3Kuzjz*?|S?InCI>} z%q?tgdrr{}m;SHMD6;9!^pi`8u8sLcOtq?vV?daEPcnBX9nI?e3Cz=b`Y3-2xzsa` zs)}5n@~X)7rJcp3^wqjcHBfxL*2WyYu9myUSn@6ORnh;Q4NOu`oqsDxb1E5qoxhG4 zz2X$AD&3;t7XkL5rF}}i#M`YMQpBM5g5Qgldgy$@^t&U literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strdup.c b/libftx/libft/ft_strdup.c new file mode 100644 index 0000000..69b89a4 --- /dev/null +++ b/libftx/libft/ft_strdup.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strdup.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet l3rfOoN2nrS1lUT4rA_cVvNg6g8B(|Upc#*J4w-(GVl3i$p>LF4L zIhemjJV`*X=s`XD4+sH0M7#tQ>U+C0$z;2|=!3WOy>H$(Z|2SHGb5i3X&Ok=;5JMm z$pZAk6P$8k3Stn2pYxZ06?o?>Z-3W$XK%o}#(;MY29(0veeDe`HYPg8h`0Af;6z?i z!nZYkU<_TP^KOB}L#}=1-Mb?U5q_9|1usIpZ45PK9?9o@=OZ$h<|^J{jjl0z{}ytY z%!+=sP;zRvqu*l7EU}by+$j00_LU?}sw6+0Z^_5D{$Djv4rI7&IFW>^$v7?q*sQc6UF` zQ51&Rqom76j^Tqh9Co`hEs0@xPT8k>cH}OgQy=}dghUX3;}{;c>|)DqZaNKCo?s~E z^6RVVd~rRSy>Dz3H`1$lqbTMpR*g{EtW@e{S^uH{beE^m{~UU@sPIvR*9DLFPj6si zthHOU%@Q!&l{aon)U+xlv#lK)*rsWlz)GzauyVaxwQ9)K>bAx3O)a%-v;0`Zk7^EU zH0uqkY3~AaSFpB=TTQcSO=|uJ(osuq%>M#X$dSqW@**!+Vj36Fsb?v4)xLlo|m*WafO04GnRs#k5 zbMN3B{bf^ci1J0EPFOM7KS`AkP^w?A3;j)*C`P~jA@V`@Hzyh@?}_e@v{EnmpxRXG pfvhh^`ln6?=!x^+9a7K}2TD_*m{@MioJAC**9BP_XL`V|{|okBs(%0g literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_striteri.c b/libftx/libft/ft_striteri.c new file mode 100644 index 0000000..f21babb --- /dev/null +++ b/libftx/libft/ft_striteri.c @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_striteri.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet Rix+>@MeWd`a7u~Hs$Xnv0H=xRc8L?gOi*0Wp z*n2X`JN)j8-Q5-mL?+y-S#bN^(9kz@FU)wozi!lM}~x@W2-kCnb4A zAMZ@*RiSozyzl@k2*?+j)foIZ%*#5tlcZjZVH!l|s7nJx*GW$^ic#di_@7{kPy7X^ zNsLMn!*fQT>Dj4dSuRB~T$4e##+zo8@!ia%CmA^nk2YJ>W*gAED%u`hk# zjVJ=%?6g`z8?kmr1{|+zE|PxpiHcX+F<%cm>p>_tfrr6Up9iZ;%c0*2)aL(Trjbi` zXHT%I);yYnitT@5264jlyHaKFT054t`Ij(H&+1?KSCC6&sAN3U$;?lJBuj;pLT_Af;9r8RB-cSTsxL}hLML&WJdS5;n{1-0Om0#2Z% xJ~dzCd3zIORvlFLaS}0F!{!ra-yK3QrS_-yWr{t&vzW}|-&6b*lZ?L2{|)w(d`18O literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strjoin.c b/libftx/libft/ft_strjoin.c new file mode 100644 index 0000000..9877388 --- /dev/null +++ b/libftx/libft/ft_strjoin.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strjoin.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet ry`a|i4ZGz}<^y{7E1pYey+ zbv)nRBY@ZRJ&YTUxWnry!a7`Q@@hkK9Cfi)_n_8u;&1D%eUxtjWVJ+PWYuq=o9c3H zcj^^9^YN2|d@ zh+~`PJMmTB_irH)i_Hhmr_$xTT@KE%2n)@I%OVOtz8qqq2n%26;q>`H&pC~H1T}Fp z1wMcVVSZGSlRX34qg$X=rnSKM$mkXh<}~7@B%?GaeRBG#FE%mk+s6z6d;U=B5d7Hp zI`n%^obIA-GsyCb+Ye$C`C<5PP~ann;NBPZi&q(>Ok#M#aZmB>h@C>EcXZ1o1ibLM zLvUEJjgnn_P`ICG8Akv{BDu7!(*tw zY0*%w9fBJUeB6;AlsN7K?L=Q#X+39~X<&HEo?TU5(aM_4wkkHTyQXadOP5N(GKE~u z$|II9*cQVbn=RR9=An%5<;!fXSXi@)_Bt?8!CEy|ie}F0_xukph+Nt^_eMk!BT@6~ zMZH|*lMSHKTSifx!sSYG367zqK5CO@Bz{if?hWRY>>+OWBIZ!df8~dfOEp8NPEq}- zzEf0xW#{ow`OZAs3-rjnju`#x26hPJisT2;cZzyHg{9GB|6<^_Ay{T1G^_Q0ZYezl!gt=#j5R6JNN`XUUxdY@ldS3jO63iZC_8d3= E5BX#1-v9sr literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcat.c b/libftx/libft/ft_strlcat.c new file mode 100644 index 0000000..5ae86cf --- /dev/null +++ b/libftx/libft/ft_strlcat.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcat.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = size) + return (ft_strlen(src) + (size)); + return (len_dest + ft_strlcpy(dest + len_dest, src, size - len_dest)); +} diff --git a/libftx/libft/ft_strlcat.o b/libftx/libft/ft_strlcat.o new file mode 100644 index 0000000000000000000000000000000000000000..eba411ed96fe35a2ee450f45ee4e560ccd33474c GIT binary patch literal 1784 zcmbtT&1(};5T8wI>qi=+C{!wvlOMEwCQ`vxkhF1=heRXVoJ8U#ZY`KEHXCS!C{hsD zT>Nu9`T>ew>@i0#LZDtmkRU>x*?q5hSvMCQn9TfsZ$946n>^8TnUJP|6b-Jx5J?u` zRe0#9TsH;N5P=_uPyH%z=PTd(mf%jO&z;s6?i6}_tJ8y4ly`N6ANrKBa|aOyc!)dt z0P%od)_c}*HI8>NUEAK7N3zG~FvNMwyVv_}wD!geeb1fGZdHsPVD!g#kWHtT<7W${ zR?Tk3m)IgpEF@blNLvnF-Vw>OR!$jRJ%KUK1xj^BDRh+M`>bZN{|O z$khIqIGB^jk&?WiA3Yj-7D`V~hMr;s5y3(;oq+GVL8sxsiPK%=ZAP=g?(Ii8LSdNv zn{@f9F?{fa!|qf@Q=$luD))519k~;zG)KRjMbA*n2N#;QQGO`!gIbF< zta`(=>^3mBg1J##w~VSe?D-#F9CK+W{Tq`)jzqq%hrC$nlbuDS8K+QH*%m{&C&+_n zsgK;W8Nr_xynn+#iF3c98mi1Apql@hpTu0MnLt%V_NV%)$o|qUL pvcItOA3P9{Pn`elkb>vpgRT-#M3mcOj-VHm&jnf8i}W0S{vRE`z#;$u literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcpy.c b/libftx/libft/ft_strlcpy.c new file mode 100644 index 0000000..677264b --- /dev/null +++ b/libftx/libft/ft_strlcpy.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet qnc$;-ONJJ&A&SCenlHLDGgz9ujTQ<|xZ1ZY`KEl3i)U+Cx+f zx%j7e@*EJYdh(cKE+}&ku|drG3+Rw=m#cW5l&DynB0y zA-bRE-@>a1ZyO`cJ8Sneo-+E67nE#FdERq-yuH^4Cx!>e^~!tzKo8p-45`JZcaY0u zR`tt;qFZ%bJ;hd7Vmax0QS#aK1WT;2z&rXx==gMe_MnNGpsQP^oTbmDXud7DXA)Vuv8 zMo|=|{{%gJ<}Y~og`?h7CMhut7nFN?-yN~@s5Hl*TtgrXhi%7fI*oFv-eM&s05g~0 zSYOMV8`aQ9QR1O91CljPYyvCQDiynmSheQZ4By6b)3HjAMEtPovU;Odw;N6im{-BxF}E95 z#UA(k4^Kxfy_Mi5(}(6F`%0N%1%sk^QN@Dzd+{t9U4VHSbUj6hD}I3(x4+GVz8m_WsP!>Zq#7 z`AMvZ4%H0u7e%8RGEvwd|32bj`}-KOKjKQh++SF4YPBi)>%!7+=Tr!vu;A_xg1YFR YqCgQ*?ie|XUKoEM_~qkF-wE=60~&pw?f?J) literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlen.c b/libftx/libft/ft_strlen.c new file mode 100644 index 0000000..9e0d47f --- /dev/null +++ b/libftx/libft/ft_strlen.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet + +size_t ft_strlen(const char *s) +{ + size_t length; + + length = 0; + while (s[length]) + length++; + return (length); +} diff --git a/libftx/libft/ft_strlen.o b/libftx/libft/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..c5e43120b69b2f5e93739c0c556143553495422d GIT binary patch literal 1408 zcmbtTOG_g`5U$Di*!39~VFg9vNd;{ZAFz5@0%3Fx;z0;_5t+nMQ8SU59#BDDPz3R^ z|6uo5>^ZOpul|XJEM9i;61-^DOn1_0<3$U)tG=)5>*?z5Ik#4p5{3cN4EPESBw2uO ziAJ1_!YuSaH$3!@KIZM~Klb%$)xNcAl)7)XFRYqj-{h80eU}P} zp&514%n>r7<0TpKov-k863y0&@RPF7sCO#a=9>Zc4_uEG8!CW_%%ZgR&{R>RBs*NEaPQE9Z3uK^qT|bU_dQWfFPob99Oyf{Z zexLHH$?r=)k4YJ;bw5;~#ColTIeJ}9caQid4zg42Wu(9;^ao;dyPNKzFC^_hTTg03?I7`4(5 NiT&@?E8{@dKLfkkWCZ{K literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strmapi.c b/libftx/libft/ft_strmapi.c new file mode 100644 index 0000000..de9e4a1 --- /dev/null +++ b/libftx/libft/ft_strmapi.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strmapi.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet GbugT9wcqp_94-NZBA0+CT^{mUnING3e`hI z8jIk+;Xj}~hy;}O8oZceE<&VU#DgG0oY}mWY}U<12VQ38d-J`S%*;O3lFL3t0VxXH zfW9YDfCIH}$89qX;}C!!!3)1qy!K^{SHDGgZMVs5R)be}n_!I{P~6uS_`~-#yf|tT zz^iqoXVtD4sN-3_pK2nn#g#_z4FuoU5opyu^Zi?GviQsCNz{$n zVdvAH%BxyS8Du=GTkjCTVEc_jy9&(qF>-g~1FR$x3*ksAV--v*JkRD>bS7rmUhK(i zltt%Q>`E7>Y5+#?gz%ievvNBHK7cx5vMp!PCQ%;W0cAU+Oa=TWUtuFJAvSH_0K6rw zO@yBN662#Vdb6zO zjegGmu)@ft-EvPpju?rYQ`hUpN}Kc)9_m>f&wz;4iwbZIHRX{Tb57uw1@7L|pW@!F z=nbb_MTg$}SAGn+^roy6O;9})a8+D?)E zlUN1~3U%|j;Kya4&~E+);$HKMiiXNL(fo)j`4acaO{w-o{_8^1H+9N`Pndgl2ti%^ Zp*T4X5zqCINwmE9T!6V=WY=)>{{SuFyy5@= literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strncmp.c b/libftx/libft/ft_strncmp.c new file mode 100644 index 0000000..ade812a --- /dev/null +++ b/libftx/libft/ft_strncmp.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet 8%kE}v@`JbY-f!OT&6|&XZr!_^(KJxd z;0_!|iUpX`k9~9CnlJ-r;dl1RADf3?dAQf(VQ|Dl`;hPN9YQeuke(v z+WG?t5vs#T&*r#hS#;^3#a@< z#@n@kHN1Mm^~4S^&wc7Jx3anAIaOD6ar$uqrF3`66EtPX(K*OC`Hx*io;dZcWE%WX zPGU^zuj4#DtJCUlqLymr(V|f6(|i~N##fLE~SwvxfXKt%3^nqu_5&a`cWi* zp$(j*)TG{&`qiiy{iOa8a`c)_v?yN7f)^xt21n{s=@p;0Hc6Ut{ht&drqQTIQcqm+ e?vR3tT>l~k5y-M5W)8hH{adNu9%T-lr2Ze-^_fWk literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strnstr.c b/libftx/libft/ft_strnstr.c new file mode 100644 index 0000000..750195c --- /dev/null +++ b/libftx/libft/ft_strnstr.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strnstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet 7P7=YciBxDSNZRn)MWPi=z>9<=zP4a~)Z{&E1@%xB zLJ|B6#6O{@;<402^_F9A_98^;A>yTo5NG!7HZRZhq63qi`F6gU$;`gzW_m7Q7@)*} z>(KQS3a}aM+DTz1VHk$sN9g>|EN^__>)+zM@wCMo&OUEs_xOgnAKHQ!+x8fl{F>Qv zBEo9ywusNC%)QzmBCW4)$=x;E1RqqSsKOMXAusN1aaR zJ@xYG1I(vV)6rPA;8biUI>jbfd_3U@FY)Y3oW&uuYg6 z<7u=>j3;-%SPdJIp@HLXaPVV@k&=ixnIqv>fz)t+;4?P~Zc9!SxLX#Z-DJBj}#;^eO&3V&_n4j()j}fDVU6J6E@B6;xLA zIFOr9FU-!Qa|?5Gcg;*LGc%hub26Z0RaE|~(x6?PME!+NfFvq$+#~I>E3Cd&w(|vG zSkXO~l~uD!d1hOyHn0bII}fZ-uLCPq%Vn#ASfy%P4By6h-Od*uN`I;1u$5YM#j4qB zz(fXXIk#BLm#uEi|FELSrMKeWWD+qFHFwu@W0g&31eIo!MDklPXZ2e*S&Lb^D8H_D5XBSNqe|rc#@#e|gfkGpOMc=HDGc c(3F2@iX4x~bVtZ2S~`AGf~BKK*YNXy11O5eTmS$7 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strrchr.c b/libftx/libft/ft_strrchr.c new file mode 100644 index 0000000..3693db7 --- /dev/null +++ b/libftx/libft/ft_strrchr.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strrchr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet 0) + if (s[i] == (char) c) + return ((char *) s + i); + return (NULL); +} diff --git a/libftx/libft/ft_strrchr.o b/libftx/libft/ft_strrchr.o new file mode 100644 index 0000000000000000000000000000000000000000..c86d46b5bcf5cee56e74c5aba9f8e2e36795b18a GIT binary patch literal 1640 zcmbtTPiqrV5T8wI>z}5LBBE4e@gNcGGm#$J9wcqpJnRE+4-F7 zN4aOWvMjs6a@PYKU;-&=)Dx(syE-HQx`fH=pGTiWd2%0=owPDHJ$3R8e(+_)NJ*;n zqs^pWCJL#^#6!#=AYN!z6YyggcbbfyB;7^cW}KDuZ$FMvl!VFSppQ@e1&_aQ(x1vW zWd_4@p?mt@j@TtsnqyRMA`pkerem}n+pgAZRt*JUl*((XD`jJ?SbU(Z8|y2pWz7%? zb*m}s&k2Wibq4kKFc4MXxJTOMNLYKf;g}U**fp><>DgA@WRA7t0NXGf6Ii9)23Bn~ z8dejrX3Mb{zK!{|V^$xFc&q8MZM(H?+0HI7zk*dWHf^(Eje7ovry`f$N_3NX#7N}a zgDA+AK3SR%%_ff;mRDjZ7X^44E%lKvK;qW~9({T51TSi+Mp$lOKsEoBpF=Ly%%X-x z_NV$`k^QAz#zX0c^S*?GkRQ#xgJ<+_8GAz*_XI~3RvI}!8CTGuno<6Dk+3Keg^ltb zAs)BCw=w%8uH?)8#r39E8S$a2u=L+K6~iYix;un`i~dU#ghZ4(Le8QW$KMzH`cY=! HMEQRJ^45{| literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strtrim.c b/libftx/libft/ft_strtrim.c new file mode 100644 index 0000000..229cb81 --- /dev/null +++ b/libftx/libft/ft_strtrim.c @@ -0,0 +1,44 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strtrim.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet |?jcyIt$2}`v|Ia?q$IP@3RN-n zW068{_Aim1G}1%SgXAQ+cvDEJLc~jvLVRyBlWsTLi$0j0_kQz!@4b05lRVL4!yZKe zDGJ<#152U+m8Jtd!qo_LKs)^QpZznTTi>lc-7+h$wEf*K{k2x{zlDBn-}G%#tliUk zUaKeqUoDtlHz~sXElJk%KSH{-Qo;~LJ-<={=EJE7<_Ye&^B%pCUBalV1=dL#+(x+bT8{l5y}2{1q6z^^~KsQN2}H9^MXmsn0TAB^gL25 ztwQV+Rm|BH7k1MDyP{vl1Z%fxgJtUj#j`%wBU;)XB6}aV07iy}t_3elB+WE4g9B=x z8tM(3+zLOw8d5`jYWQLe2cUKba5Uo>xitYEfC6D&93-b|6DW_yKv@bX-EF>O>)7lb z#A%T5)@U7p7oMT^7KRRp(b{!dMEOY{x$gN^b0Ew`=p38iSJh<+YjV3WRI9A^Fw4t# zcNptH(_@RnYZoqF-i5>dWO>2Y2y&cu+9+N)-UuS%g_Z{V3?e779$5$P6=LUb(78CJ z9|1Q!dITOj0*7f9&#^4a&Zg8!GG=q}*|ZIX_(*ItIv9(O4iDea#^d9I(U=w&4pZi$ z&=!mu$xLE2%=HWh3Em^V+kL#hBriEyyKn8NOZ<}!r?ZiGk2q?&i+&p(M4g1<(~uGo zio|6S8vtXk^(kaww896Q9l|Qid$)zvdvasRhm(6G4pRlH(~jOz1`*>Rkkf zUCQFAJP=?j&cu~Bxl7>Z1@3%VbIwG<-w9t4G5?hx7WwUGOsQmkXFjJrAow97*<@Zg zQhj!jd^tyPQR;TTH*TPd?-*kAtKqDFL-2#RW*6CiiOr!xu1-GxqeJ|jbQH6bPq)zR z{B;6RWMAm~>DNl~<@vkiCSE`k^i=Gl4Ka%0gl(utZIe@WEO K>Yg>l$^Q#3vK0{k literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_substr.c b/libftx/libft/ft_substr.c new file mode 100644 index 0000000..3200ce9 --- /dev/null +++ b/libftx/libft/ft_substr.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_substr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet len) + size = len; + ptr = malloc((size + 1) * sizeof(char)); + if (ptr == NULL) + return (NULL); + ptr[size] = '\0'; + while (size-- > 0) + ptr[size] = s[start + size]; + return (ptr); +} diff --git a/libftx/libft/ft_substr.o b/libftx/libft/ft_substr.o new file mode 100644 index 0000000000000000000000000000000000000000..9566fe19102379fbf8822af2ac5d3afb4f3a551f GIT binary patch literal 1800 zcmbtT&ubGw6n>l3rq;$r5fmztgNOw?BvR1yP|}udM~POn3tl8{;?{!sQL?+x3blu# zxCFtYcmD_RSX8V(5PIw%P$5ze5idc6^u5W9*{s`(K6sh;zWKg4FY{*C_1tVk(?FR9 zlhDl+3h*J?jk6-mLL7$R=kS?d2KT=5jqfS$tu;J%mwUzz-&kvaJNTNI-(KPmuj>u& zZ8Zqsp5CnMyL?n{BCiRn1AI$wik&(_8GXkdK>iN#a7EIl=F_%N)B-mqitknf3KE8#ynVE^? zd86P~957;YPFRgCFg%-Dv3Ks29~uuPQ3K@5LyK zLjT{Oz+(sC;SEQ{t@KLbm>&1_DgHZRC(-F1gEodh7=Gyh92T9t?G|jO#){n-@^iWQ z>8V_Pes=bjzK~y-n$GEYvG3GMRt3stsZ=du&6I3_W_Sesce`UHA3o&6lM=_d)9ky( z?A5Yk7Jy+Zopnh?HLGMY$69fK-7_5%Si!b|6|3d4RY9y$bu5N&Y0P%a;scrAuefZv zR$aDg&MGib!CJ~M*37ciJ@Y@JBx>nx1t*_Hj7-g`lXbW%rga3J?ktP$w}gCp>RtzN zlg?2u=9DC#lX&o@#)%waLHGi4sOG=w)2OAIs!t4ssq?A6-_-ePoxn{M`+1o#Fob&* zG5WfC-Vo+lsZV0;H+6psD_}s>p#HAZUsgo92K9Fk51U_BUZ|QA&5yK7ukf(5>8Ka# oe7Vv$bvQ&%Sa5a-!M6NEla%;OmivPo!zfIDTY~EQRf3>?AAoMf)c^nh literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_tolower.c b/libftx/libft/ft_tolower.c new file mode 100644 index 0000000..14d83da --- /dev/null +++ b/libftx/libft/ft_tolower.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_tolower.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = 'A' && 'Z' >= c)); +} diff --git a/libftx/libft/ft_tolower.o b/libftx/libft/ft_tolower.o new file mode 100644 index 0000000000000000000000000000000000000000..fd0f7ed2dc47663923db0722926491fd88386c49 GIT binary patch literal 1424 zcmbVLPfHt75TDH&qpjK~Jt&qEPc={n4M7$?WAot zBHHq$TLuxyuxZ!WlisET@zs?sh;kHxs06<6RS~NO(i3=H6OnW)-&DL>t%;2=*ziKR z1tRp;UE!@QuY|7e@f1(Dqe!K@Gf&V_EnDZHVye|;3Z$y< z$fce+R9$#|%Im`Gvweq2_Vv1BJtl@rmMOlx1W7Lra*To+kg7B1|(; zS(CqjIK5^^<=LcF!(j#VqNO>R&v>V`V~X17wc6rX`4Ps-T literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_toupper.c b/libftx/libft/ft_toupper.c new file mode 100644 index 0000000..3775f6d --- /dev/null +++ b/libftx/libft/ft_toupper.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_toupper.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet = 'a' && 'z' >= c)); +} diff --git a/libftx/libft/ft_toupper.o b/libftx/libft/ft_toupper.o new file mode 100644 index 0000000000000000000000000000000000000000..9de53d2581caac16d05e87ed4072d1cd4395df96 GIT binary patch literal 1424 zcmbVL%}X0m5TDH&Q>`Cq@t{~rda6QwB*m86g9JiM57I*+(2Lkjx+>@tJ((@uS+rf#9GJu*yjiVMm7XimPBg{r6 zndlg>>R-UxPFm9=i6@6R#0$hpN#4^ZKbAa*oO7VVHU zqTQWR1JSjk-SlD<*)aG&7~zQra5{-z8N=|oHfOYVDp`}OvKrQEt}n`3!0eQAXeT|p z5y6fpof3#Z`W?H$o^-b*i0_VcK$L<2M7ipDZUwPQRk{MNYc7yZc~iyfl~C0DDo!AG zK=|&KBixPEHQ(`Ep5pO#8mV-5<_Tt1%kDX-m}+%-g#lswt~mFD9mAUZ*O;ew^;rHJ zh Q{rEF#{`GEU$1(Z;0Hy(By#N3J literal 0 HcmV?d00001 diff --git a/libftx/libft/libft.a b/libftx/libft/libft.a new file mode 100644 index 0000000000000000000000000000000000000000..3dcba398d06856b1befc534e21e1ee0b0a7bde79 GIT binary patch literal 58918 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/libft.h b/libftx/libft/libft.h new file mode 100644 index 0000000..83437ae --- /dev/null +++ b/libftx/libft/libft.h @@ -0,0 +1,70 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* libft.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet +# include + +int ft_atoi(const char *nptr); +void ft_bzero(void *s, size_t n); +void *ft_calloc(size_t nmemb, size_t size); +int ft_isalnum(int c); +int ft_isalpha(int c); +int ft_isascii(int c); +int ft_isdigit(int c); +int ft_isprint(int c); +void *ft_memchr(const void *s, int c, size_t n); +int ft_memcmp(const void *s1, const void *s2, size_t n); +void *ft_memcpy(void *dest, const void *src, size_t n); +void *ft_memmove(void *dest, const void *src, size_t n); +void *ft_memset(void *s, int c, size_t n); +char *ft_strchr(const char *s, int c); +char *ft_strdup(const char *s); +size_t ft_strlcat(char *dst, const char *src, size_t size); +size_t ft_strlcpy(char *dst, const char *src, size_t size); +size_t ft_strlen(const char *s); +int ft_strncmp(const char *s1, const char *s2, size_t n); +char *ft_strnstr(const char *big, const char *little, size_t len); +char *ft_strrchr(const char *s, int c); +int ft_tolower(int c); +int ft_toupper(int c); + +char *ft_substr(char const *s, unsigned int start, size_t len); +char *ft_strjoin(char const *s1, char const *s2); +char *ft_strtrim(char const *s1, char const *set); +char **ft_split(char const *s, char c); +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); + +typedef struct s_list +{ + void *content; + struct s_list *next; +} t_list; + +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 diff --git a/libftx/printf b/libftx/printf deleted file mode 160000 index 898be16..0000000 --- a/libftx/printf +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 898be1619f6f91d11e1ed7ea0b8fe4f70c42a70f diff --git a/libftx/printf/Makefile b/libftx/printf/Makefile new file mode 100644 index 0000000..e134948 --- /dev/null +++ b/libftx/printf/Makefile @@ -0,0 +1,36 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: cchauvet qi@-CejLSNQHi`CZ1+;!ro1dLI{vI!K5iwdMH|R%CB;Ur$bJI->ApZ!V9!$ZngQ)Fz zWQV90u4a-I_o|=7$cuZoiNa?NgI;`e#c?=sMEvw2Jb}pBK>c1%5W9?v`Wu!d1fp=* zkj8q?e$tU^qBV95x7V}mJ{Z;da;aE1mMfJ<`l_*7EY)>m9OiBtP1CV3_q;j~=jnB0 zc;L$wh0}~@aWS4!IK|T%iEwt>(rkior0wfXwrp$L6w>NT5bLHiK{Oo)gx&R>R=3@@ zI=I*AN=x9|T5zP<+EV`Gjw^b07cV7ukVBcQO=H70+f@DkOA1raTMJLBfEWqS$M^hL zwn@&y_*-1%>&nOSs8)Fz!Rp3E1J-72Kn*HC#XQQvoiS+<%6jqCq*s z{5=(r<3Odue0qgZ^Z%$4@|49}kUIdwk%%TI_( TH^OMXQT#o{m!nAE2=o5}B#Da9 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintarg.c b/libftx/printf/ft_dprintarg.c new file mode 100644 index 0000000..1f0fbe1 --- /dev/null +++ b/libftx/printf/ft_dprintarg.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_dprintarg.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet ;ox8&<1nPk^=bYa?UwiJyzDkY_2Ll1Z zDM0QM*WxH4xjI)*IBJ44kudqweC2OSwtmQ~`w?s9&@vBXD^*@yIhZkO;hQy8*-n;i zvU+f9;VP=K{V+lyYf}zv%XX@4x2})YqhdAewNal$y}T|vm~4&K+eFT6*~vqB{UVl@ zt#8)npQ!zkgM>htr{)uy^JHZrP{Z2cx%XiXkbChga=)gzP4n4l^i8Y}I32h3I8C29 zrS#1k+ZB`f4x@+3l+4sAbT8XDcDMPx1xVd#wg9-%35D2p>^%p#cs3Pl-s55V@-Y_g z?&-aK=Wbs=AtOUW_oCNRX)|w_(SE5{igm?J$BMt~j!CgzDSm_E7)#CpM}TX9N5)eG z&gCXzAz-97Do9}Y5eY0t0v(NY^>_#_0gjCH6@o~zDY6zE3fG1{1;NF^{XP&1HGd!Z zt%ZDVF!sW`sf-Fa-B)60g`8jGhYOE^upA=({f5YS!OK-cq}DZygIvm zctmNL;dq7{fjPb-;9&vp#sdk2{!PH#|BZk*3wT+;asRmgI5q-=d0K!ut_is4zbW9Y zf`1frBwS`Lj!mS}(!8OjK^i)hIj-s2oGKaGqCuprYN$j?mr6v^3)ILI=I6CMtmO-a zCcz!=Dj8~Kmf6#JQ!45O*cW37Vlb1IQ>JuvUZZtS_>Dq5j?8;w5`ZD`dqOSh%XO3; zz&O(ca0Ri1y9~Sl66^4r+|KZ84EMeuVK2b^+4eGvkei@kPOtm_#>XKRb5`sn*gPKl z7Rg&5UUVluCOU!M&Kko0MB?#W4#FbWMZX8$AH){DzK;OMSJT_S%;KXgjtf42ZodEp zb9&=*EWVFBGU<)SQ|Pz<8mp(clx0IsHbJ!#_-* Yw^ST|z4ODjz%Rbc`Ztavsp5_Q2W+(hTmS$7 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintflag.c b/libftx/printf/ft_dprintflag.c new file mode 100644 index 0000000..7f2c9f8 --- /dev/null +++ b/libftx/printf/ft_dprintflag.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_dprintflag.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet o2C?}pR39~1JUIw+0?%DDfTuYP(D`D}JwUMZG(ZM!GmU~4S7n(8@T z>dDn4ORllhWtRt7z=IPgizxX!MF;^5i4)g2i#9=ebPuGRgtQ!u9D9iuKaU&Fo%b#tyQ{ay=_;UdX1H5ebDlS&5cY!+sx(eD_h!D zW}~2J6k|2&UCJQ4ZdK~Fx;;(R&6=o}>L<|KpF|ncAR_WaB8ZQo2;LwPL3|8F@G{y2 zoFhjZhklr~+p_f%YTI=6wy;d2sWaQyv4K@|TL)IMEMVnMt7Wv2YjS>s;1r&l}%1Qk|ARj&8mNr(#R3SySttnD{RusDAb!YiWlFg zF$mRFZ~`@*BPQ@1=Pz;IKl!itx?j;AUR*(k_B?8S3Ug`CB#IZ}eA?d&alX*&xF~FI z+!wFovHh{PagDxK-mXdHS8mA@#x+F$1YJUd_Vnlf;Q`l0AlLr5o%(Z>-qXNU@7UrQaKZ6?t=rIM~{kCnP~~1l_C3 zKprVShKeo!9LVFhNj$OlzfgcAPY$BaF`g*{Of$GoF^c`kjp+9#u*)-t2lC|Od&p6=p?=CDj0*9lzt2So@0ydzG0-bJ(t(zAyk z?ZlZEAQ8mpkKv(es+G3!v}xAWlGf2# z+0THQFKn!@71WJf?vcEyZmz8tWR;@YmRYW8hFYz-8f%&c?(&P#+n&btnb-G;u literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintptr.c b/libftx/printf/ft_dprintptr.c new file mode 100644 index 0000000..4a9a735 --- /dev/null +++ b/libftx/printf/ft_dprintptr.c @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_dprintptr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet s4fa( z2tt2?f587BxCn0i4cQ2S*+{zxBGhwc?rkQM>81y6&N<)x&g0&DChxUOI-)2bMS&IQ zc@hPf9O~H#*G#}TjKSgMJAbo!K|FlTdM(Y=;-z$1k zYwHcI+tQ9A2n;av=98`q-XOl-_#q+{?Wn08eg8IH-rkvkSRG>Vx%q{~2M?E)&0M}< z6#>>#sYmK`Hs_SNqb{=r7MqPbt`~nd7h|yn7N7BON)15AnZR`p*V@x8U_W08i{c`= z?kP~-Zh%ssP^Lyl&L7~#+(MidNr`^6@re(S)Yx#OfD8h{h3<3+{v3zxMni9$dXe4q zM@8N4`!VvO?rFmCkwMVqhc_IB3#agh2XMN>tG@o-J3;I=F4_yqJOW{O;uIW;+$dD- z?J}=&o8|jlFxE2b$<>Upo=(5eHjT~IWJWWHQgwKZ+eWd_<2yS>&a7FoA5|DMhcpBK zjy<_2aGHftAD$Gr?!v}{QQ>!mwc*0VtUHukD)E=ssbmz%f+H3}<|{#?Aa2;lC<7tZG-Pmd$rD zhB8@OM$tA)Cs!moI-624jAlMKF$u&-lM^5sj z!0!q?_yv6t`$0uH{Bj>1%6ZoKIL1=WzPChQ*1w6iUxM|Qag(r^pM-Wx_|%_YWW3Z# z+?2MTcj$L~c96S)d-Sgn?7u5wRH3Dk_b>g|Xi&~z{G=$fB#A-?<7o=R-v6U`5c$sZ z{`7Ap<0T$en@T+s^`)k7_F_mpqkGLC$r_VD}g>re8&eaYsQ zZsl*^xm#EUsFln2($_Z{{f_LXmqlJ=Gr4{kV5U2tfGVC}?)uZLfoCov!o*zO76k z-R3hDKkoEJ&+qm;U+y4>cJj8IP2X+v4aOB5%Sj`P-kLe7B4Q*wpD2oQ*(XbLqaGDe zb$P9tlU3juv~&)?pos&Mn=w$-|6Xb)X(VnBNymrw7D_MDg{#(X~2t&4d+{*#1! zz9;7nltcCD!hE(RTx4I*`=AG!Z|1Jy8hx#1{T~%4tt=bvKgUnep*>Cho=PZiqOvBR zUSZt)KdB9Q&eTWxmta2Qac74|sf!krrEl base_size - 1) + { + ft_dprintul_base(fd, n / base_size, base); + ft_putchar_fd(fd, base[n % base_size]); + } + else + ft_putchar_fd(fd, base[n]); + return (str_size - 1); +} diff --git a/libftx/printf/ft_dprintul_base.o b/libftx/printf/ft_dprintul_base.o new file mode 100644 index 0000000000000000000000000000000000000000..e8c18743951a52e49c8df4c4947795157b476796 GIT binary patch literal 2408 zcmbtV&ubi29DlPLn_815iU*}uR}a!cJ8YzgEh5{5Nv3tNpk47`nan1WCN?SFt}r1v%2)R z8|!Tm9BgGEcb>PKR{MK;**h=^t+w5OS!DA&l-+Yz;W~ohE z+qePME7ndh++wQEkto`L`qRze7r<>pMZ)>37AuHlYHa6Z*~n#w*V=2nUhlI_e^{Dz zUZ5jkI-%q)s_hydDD4mnxxQO;V>=(NZ_5URr7f6liC|v~0eknpp?}lbVysU9=vaM& zE7G9Ug%NsllXhP|==DPDK9krD+~K%&=lxUE>n3*X@JIAxt7#$W&$`M11E!Rn8vEe} z%)*<>s&kNzGFh6sY28Q0>sQ6h)YOUGp;9@h_(ATtdCbfooe1P<;-i=HX8xEtaX7-+ zp&_hstVghB-Y5yoeUn%gi}Yl~gt7LfFfNW82S$eXUcvO90nSA_#m(A3{&{9anJ>BeZAY)ze^nSI=8-lvakP;IOsOFzW!IKCzM8fSVQ8EUYahO`i1bW`nH2! zS=pUIjQz;O;>f!L%PCx+<(+{YR`|EzBzf0JMAq2HsW7sv7>=EG#jHSMQz$E^H>h|S zN6s}#MF45|+rXc|y&fnB*>lL}A7U>Sd}qE|Tf!q-cFJzuGv^4^{hCu>TJtC`)#rmM z1*#*|nJJ!`JXv(kOi#aMopsKhoGe<7@>}*Qlm>zls0RMrqFZwo=2_Zr+(3Mzqga3Q zTLoR_;6cRqV`=>B7(N!me|iX>gAIwle_WahO3=8T^K1gwbKXecy05~lUt00qGPqxh z_@b6--m+`@-bG)S^RDj-vs|wWb8dBI#j60TtoojbZ}e#0cjw+y=kt}otkzbmUd_KG zOc}vjbQWsvil-|0e=G-gwkr8j3&2RXR3D>LWUFQJ16Z6%0V_^jf}mNs3$YKJq4W!X zO5ramJo$w_9UqReB}pu-A{u(6B zZ3X1wK_Tn@X}Ao5`IG*O3iv`BDxUN|2RvcxK{c<>@#7746XGu=t2clM$Mov!-2zN+e~p1dvBD>1_WDF!@&i6v2h zTzsMz0<{1MSb*Q>um5S(hTm)NekO;nM??Q`@9E)Qc~tvwnY?PlZ^O?&Nc;LJomsx0 zeem#6E^pb*meU5PmP(IPw;HzJ<$fy9vMjxn@dGRKW;xB$S(dpS;xL0DlDJOcsy=H# z4B&t;S=J@gNsO0kU<{JR;{4p{k9d)5h|wasLqFw2@_nqdFl(a&*(V6~UJNH?*i~HAUtR7Y5QRgV zo2|aP+2sS)R17ey_0{4^-CV6yo|o6n^_611Y)%~f9n-cv2Np#loMX_1(NQQj1WvP^ z$0hNUz{#K1SeUol;g$`|<8HWbNX>P2EXJJy2iCH<1Ecy}sk}UF1+CXTxl}R>v8q{vRcUWO`%zgbIj}$hm}8=qq*Fseja? z0xnesqB&^+p2MB;$d_|P;5P-Xzu0YYu5T1WmAhzA%zx!)kV`SAW{I}Ue*tw>^!#}| zBuw5@`o0nh)u)Q&%e{z)Qdj-2?zRM~$CZ=pglb^aIOkduyL z*ZK4cqvpRa0?Ikl{OR98@+BUXJ4huiniD&HgJ&c76jPr)@pB@7feb}NxG_TWjp82& LJ|BCAiq8KFzqp9= literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_isarg.c b/libftx/printf/ft_isarg.c new file mode 100644 index 0000000..a598a81 --- /dev/null +++ b/libftx/printf/ft_isarg.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isarg.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet cbFG>abNTi3xg9O9c2;!j-=tasV-F~R~U_T%gs)vdY zL=eyZ9nzBoy!bbG7YfZqyaW;I{C3|_-nWhCxaUx<{v; zLWzztr*P4Y^fPz;SH0H%-rpY{><=l-9)f+mQhRp}QMJB3Ixf`S+N0bj%6%S` z?V$=;s2$iNLvFnugx?N9c=Dy`cQ<##-uexq)oS&wwODV2?I5(uVp$ZIN@3)cUfwB+ z;<6~+igB7^Zk|7!y85_ITVX^1)Z!*=n z>C8ip0FW;D%PIPClD2E6b`Z6wY9?7`RQ)6d&y4;i4bPqhqxkfKO*;RV_~|qFEF+h- z`lFs8YAe{-^&M|pG{+|30u~lr5A^=`Nh}uI5a8O?Ark&xD{vaD125J)%JSUjjtJad zKw{Gg91;!RC*gHsr`c(>+&1sEJAo^B#!G(SG@nU-yB&(I*Xg=mu*V!^a(6biJg4PG zb^PyQaRSUd*|7>^ka3@4SL= '0') + return (1); + return (0); +} diff --git a/libftx/printf/ft_isdigit.o b/libftx/printf/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..234f0bbd5688cc89b55a548777148fd21f318666 GIT binary patch literal 1408 zcmbVL&r3o<5T56&>~|I&3?u9i71X9tP#r=Lt3z}MgbqbK?P*eKythIHS`Y-@>eip) zG3X!Z(y2?)ErObP?%KNPrGed<`DVY_+1cHz#P){IFhGg{>+tJI6yVzTYsWk@2K~?n zA43zL$*t;3wfuEc{#v~nz9CIU_h!k^56z6}i9E%NUfly6#?e6kA`L zz!<%`bRY;Q4FdQ>3g|;o7)e{G=pPV4>#|i)$sf`RDd4hgfDkQO&>%mshyW9X z5cU0L-rJp<+u_|(q%FyQz~0QhnKy6#?fcE!o!xu%VE1V6;L|(y`uWsooa(sw>-){E z&77lahv#|Ko>w;Oc{{)5dAn;oujaF!_eh23J=WrRdjikf_m`e`aL)6N{Eg>5f6?>4 zM)^7@>?Qswl6~d;K&G>AWOV3ECOh2O(>>Pj5o2hqZ|LMu22n|i;^R?tV7U7v&c;p+ zjY$04T4Er|6_u-#I@Dx`Za&?anm%GA`N@c6QeeqphkR8qV&Gc)AH-?bsX2=n~CSbENjSw5SZtEsbqD zXV;E5(#M`DFDs*A(^Td??L}w8^}M?KqIgP0Q{FDG()(4_Z~b3;ko)f-cWyDrWfy|0 z=~c)Fljjz_?8CF=6kmEYm`*SL1X95VlqHv53??a?&huZCxO(D>SYnkJWhRc+E0 zqk}xn

x%PR=I`3t7 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 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.c b/libftx/printf/ft_printf.c new file mode 100644 index 0000000..80cedbe --- /dev/null +++ b/libftx/printf/ft_printf.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_printf.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet +# include + +size_t ft_strlen(const char *s); +char *ft_strchr(const char *s, int c); +int ft_isdigit(int c); +int ft_skipflag(const char *str); +int ft_isarg(int c); + +int ft_dprintptr(int fd, void *ptr); +int ft_dprintl_base(int fd, long long n, char *base); +int ft_dprintul_base(int fd, unsigned long long n, char *base); +int ft_dprintul(int fd, unsigned long long n); +int ft_dprintx(int fd, unsigned int n); +int ft_dprint_upperx(int fd, unsigned int n); +int ft_dprintflag(int fd, const char *flag, va_list va); +int ft_dprintarg(int fd, int c, va_list va); + +int ft_printf(const char *format, ...); + +int ft_vdprintf(int fd, const char *format, va_list va); + +int ft_putchar_fd(int fd, char c); +int ft_putstr_fd(int fd, char *str); + +#endif diff --git a/libftx/printf/ft_printf.o b/libftx/printf/ft_printf.o new file mode 100644 index 0000000000000000000000000000000000000000..30785141c7362bf8d80e0850793bd981c6532df0 GIT binary patch literal 1824 zcmbtT&1(};5TAVXLrvW%f`t~zMd?EONVJEx2T5DfE)uP11HF`WlWa_BlZNC)Qo%29 zg(U=f>Ain~ARfhlVDTmh;=w~Nf(H*3Zz9B*mwjflZZG@V7rZ%0UL_N&oOr=!^~*M!=;BUG!1Ds5X8 zp;`@8Puo1EsHw+_dVN<>Gy96V{#;SbwxX8aD{B2vQ6C)TwPyI@gxJ>7FelMIu;QqP zkvg!Z(TdYzD;3pjYX)7dW!)rYTS?*VQMA^yx;?#pO@HMZ6Pawi%S5SvV0>0L4Y=K z^4QLyO$gk-1%XC1Fcuja-ow6go#QrjYRCXOH2b!1YRX zqs$8|*Rw%iPOmJ?r}dSkrQ4}heRX~zoziLjUcMU*x?bZ(Zd1<{H}!(CvE?-K!qIf6 zr%-<3#1KBZ_=t;-IXun*%|Z{Xwo~Fp7Fdl}ySgZ?s<~w_ZZxwNP36HNhG zpZ0e{)|Yw?7p3iv)BH%E*lWnqYwMdK^ksewZ8zlkNiK^9mGb5no%%B}(9z!fb>#i- zZ_PPSc~5kIlq>Tk?^l~j?aTU(rZ;uMC!aX)-5~{^oFAg|al_f}4|N7Dzx;|r%J(f3 Hy!pQYzyshS literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putchar_fd.c b/libftx/printf/ft_putchar_fd.c new file mode 100644 index 0000000..d509e9c --- /dev/null +++ b/libftx/printf/ft_putchar_fd.c @@ -0,0 +1,19 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putchar_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet 0zQ)a z^)r-<#U<-ntsZoEVBKbmEH|GIA}{}XA;)ryEPp-bDQXNQi*gF3{GbL{#sP6A3gKd` zzv<0cY19-7?g1-#L6eW$t38c83V za&>iOx$3NzN{{R{XKi_yTI!GKCni&-S#@jb-LVRI2-eQ?lv}r|FjdZp5N_xKHmlw-QcyH zrth{zfufF+DhmT?R?;t7K#m~$9((awX_KBqq23fwR6G_uKJPVr9I1KV5FhHJ}Ayi4UfK=L||Zp1Abe eAqBG{{~dA^i0h7+8MJiqyCQz`=wxi9=P#?O=Zh_Plm1s^g=_ zic=nI)q!@X4mD*E{{Zn%gF|)Xe0BOK*SUr=k@8{-lwLwvip^bo zivzfU7#*TI{iutHHi+x;{~TGYKw7(RC% zbp68{j>4tC_|KlhX@*yQ{kt?R(v1?fHlVK~$*y=_}vtE1O;M0H99y-+OWvPHeL zx%ouh*0-~{qN+=m>aIZ{T!-os;Xd7Ij88o(xv01I7|M(%B~JcyCM3Fh4a=y2z?M9| z%TmXz8^SVs7Kk0gGC)+iT@am?r&L>whS@}0vt^kA-_~l^GOEv|{Lm6_nou{8RhWPT~sLNzs9FAmU2$*5_PU0{1SroH)K5D6IGYqOHTdyiQ}2)(8#ji z@0(xo$wA*Ov{8@2{)aLqDLFHqKkLs>pq#;YZfcz!B@f2aD-7HJiA>0Qrv1~u1jjQT sS{wb=i~s-t literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_skipflag.c b/libftx/printf/ft_skipflag.c new file mode 100644 index 0000000..30c9668 --- /dev/null +++ b/libftx/printf/ft_skipflag.c @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_skipflag.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet XaNTdfXMbd^%77Z4(Im)_8Hy<=#?7oFoP!Fj> z=tc0-gMWwgBmob_n}2|y7oiX@;w6YsXLk3co9*_ZKbW1F-+MFj-pt#VN--aiBoL6` z9-MfB1=x?C*jdNS!aT&`SK`|5lG^{S_I}7}|M`)6sElY?-76ibd&)?aJ}2J8%5@$) zAbQwPd&)?fT-_bm@q=T;@IlCG;=`bSctpXk2KLvuu)f$BO$z_k8&aTI+B~8iM+)fM1+HSJOw|G!&alA6QHw*(@aK1ozqWpf&fuZSHEXNUtv2-5ty)(ovkqF}BD1w*KCgA)X zaUA+EYp2EaGHPzRx-Kl!XzGj`+Z@=Y&UIjA%K}#Ev|2_Rxps#e4BynE#r4XT=hxac z>zbXeVe%bdP6nf{RZYERj7$EHA!9JTvEU2HB1aJOay@siuu0P#sW({^KfY085NTJz zIn-1~yqqf@f5YR0FZPSK9#oXWk6Y+a&VP-k_eMFzIni_=>QjC{M17%`aZ%X*eY0U? z$lm+N(O>4ZYn(#F%VWkhME?X`MuSQP<5OP!J7S}!gYi$051U`oYp9qL&5vS5yx_xX sQ>mw-zNhJ*nhS|1E;u`+VBfotLXHn!x-oMRt+4o%M>fYhT_YI(7iSN&VgLXD literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_strlen.c b/libftx/printf/ft_strlen.c new file mode 100644 index 0000000..bf3de9b --- /dev/null +++ b/libftx/printf/ft_strlen.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet l4M60Q35h_?pdMHgnhomT|hY|^^dng_XfnFqR(oF)IjqJ`s6s(9M zh!_8e&{OGA=%H8tgpkrpOE1BTeQz_9Os2`Deem|Z?|bvj%$u1#vfggQ3?eoL7eR9}_F!6=TKVI11tWK1T+b34XurG>j`@-tj z#?8!UIK2+P6Waa?n}xz!I#Vo%9uL#2Y>8zTb76#XA75u#c8TR)b$Oa?3_XQDj=s57 z1l-m&aV9$1Y&U>$@D7Yt%9x){Ok83^Pmw1lTc?lpFm)CyB;zd{KzM}FS&YH2`(b5s z=ts=O3%f7kU`rJn<& zsfI=!40OSQ{RVf+z);nVb(wLu#escrxC5*l1i&iIM#J@x^P1dccuk7|cPcvq*SwJJ z`OQ7o=lj5Xch_NVy;Sv`h8r#YU!QqY)1B!jmlw14`WKkSs`eZKaq>OM+ObTusOw*1 zo!-;G>K9N;b7s+1lj~DmHMzcw%UG1TI_^pZO0JK!utu+I;O-HB5}LG#GU)%#HWp}3 zU4J74D^e(;u78g_z2dy6%a9Ti&Iw`?Bkfb_B|mI!l1zw3e-c1@fKGGhdgAoELkc=V Z|Ac^Ig6=VoFdL@Ni2c`kBfE*N{{tk}Xj%XO literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_vdprintf.c b/libftx/printf/ft_vdprintf.c new file mode 100644 index 0000000..1f33105 --- /dev/null +++ b/libftx/printf/ft_vdprintf.c @@ -0,0 +1,54 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_vdprintf.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet bqJC1&u3Jt)*x7^{Q6a zmHo&^68XGe)tc^CclSFADq2hNOEzotVh5*l@tYdm2FKoxR4~R1>Tc>luWZzb)A#8J z@WX}dyV@ZZY1piOJBxEoucqqIhR*t!1i7oVu;hDP(ZJDCw8O?Ehz|7XeNXs>M}x4k z(K>Q^Se3?zoLLS>9$t5|=2WWM;oc6Jo0*x2UQeZ+B6Xs-)p0d88h6+#{&Fm)#>Un7 z4UZ?d%|kFw!I*oHA|XO*$c14b&U+J4UOXbo+K@8b-_!dJKG-GTaUh=ILmM1=8=4vD z4&_1N`R*VO_<)bLe~bB%3Id*mF7oRr$QKSgDcGy%wlgZs-ma62z%nG|VZC!nm~?lF z+kDRnJiKTC!fZD?9k^Gx&wh*n5yU4>;FG|ggZ@R|Y;S>ka)O@ZsPQ~ovX_c9r)F^F zEy~s+G3Ju<(^E-fes=b;wqPtwO(!)2B_)Su@}_O%vbZWQFO_mD=AxYHI1%#@atrDs z@a&v{(ZY)X$RY_qz8{9*w~z$*d3IAdKM1qXck!QuUmpbx0?sWPYypo1Hv}*Ci>T%G z0yWbxQ`?*K!m_OuQ>E4#C2H2BCQ;MnGEpT|_^03u`hE|Q1c-gX?}xD>UVOix+8Ec% s8_M%O@Xm@H=oj&)!S;VU^p`l9!-WK%uFaeUD=7Xo?|-GO^bCLeUop5WMgRZ+ literal 0 HcmV?d00001 diff --git a/libftx/printf/libftprintf.a b/libftx/printf/libftprintf.a new file mode 100644 index 0000000000000000000000000000000000000000..968fe3a2432cabafa799960d16ca6ec968bcc127 GIT binary patch literal 30760 zcmeHQZ)_aLbzf4F#Yj|0ISESFcD-&wn?x*%q$!bd6yqf2?6oY%N@}JI5P|`bRY;Q4FdQ>3g|;o7)e{G=pPV4>#|i)$sf`RDd4hgfDkQO&>%mshyW9X z5cU0L-rJp<+u_|(q%FyQz~0QhnKy6#?fcE!o!xu%VE1V6;L|(y`uWsooa(sw>-){E z&77lahv#|Ko>w;Oc{{)5dAn;oujaF!_eh23J=WrRdjikf_m`e`aL)6N{Eg>5f6?>4 zM)^7@>?Qswl6~d;K&G>AWOV3ECOh2O(>>Pj5o2hqZ|LMu22n|i;^R?tV7U7v&c;p+ zjY$04T4Er|6_u-#I@Dx`Za&?anm%GA`N@c6QeeqphkR8qV&Gc)AH-?bsX2=n~CSbENjSw5SZtEsbqD zXV;E5(#M`DFDs*A(^Td??L}w8^}M?KqIgP0Q{FDG()(4_Z~b3;ko)f-cWyDrWfy|0 z=~c)Fljjz_?8CF=6kmEYm`*SL1X95VlqHv53??a?&huZCxO(D>SYnkJWhRc+E0 zqk}xn

x%PR=I`3t7 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 literal 0 HcmV?d00001