From 33cccda0ade20d2f0d728ee4a2a9e6d4342bd168 Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Wed, 1 Feb 2023 17:28:38 +0100 Subject: [PATCH] start --- Makefile | 4 ++- argprinter | Bin 0 -> 31064 bytes filetester.c | 41 ++++++++++++++++++++++++ libftx/extra/extra.a | Bin 0 -> 41152 bytes libftx/extra/ft_contain_only.o | Bin 0 -> 3208 bytes libftx/extra/ft_freer.o | Bin 0 -> 4944 bytes libftx/extra/ft_is_in.o | Bin 0 -> 2376 bytes libftx/extra/ft_random_generator.o | Bin 0 -> 3480 bytes libftx/extra/ft_strchri.o | Bin 0 -> 2856 bytes libftx/extra/ft_strcmp.o | Bin 0 -> 2424 bytes libftx/extra/ft_strfjoin.o | Bin 0 -> 3344 bytes libftx/extra/ft_strgen.o | Bin 0 -> 2760 bytes libftx/extra/ft_strmerger.o | Bin 0 -> 4104 bytes libftx/extra/ft_strndup.o | Bin 0 -> 2856 bytes libftx/extra/ft_tabrealloc.o | Bin 0 -> 2912 bytes libftx/extra/ft_ultoa_base.o | Bin 0 -> 4720 bytes libftx/gnl/get_next_line.a | Bin 0 -> 5998 bytes libftx/gnl/get_next_line.o | Bin 0 -> 5784 bytes libftx/libft/ft_atoi.o | Bin 0 -> 2952 bytes libftx/libft/ft_bzero.o | Bin 0 -> 2432 bytes libftx/libft/ft_calloc.o | Bin 0 -> 2728 bytes libftx/libft/ft_isalnum.o | Bin 0 -> 2256 bytes libftx/libft/ft_isalpha.o | Bin 0 -> 2216 bytes libftx/libft/ft_isascii.o | Bin 0 -> 2176 bytes libftx/libft/ft_isdigit.o | Bin 0 -> 2176 bytes libftx/libft/ft_isprint.o | Bin 0 -> 2168 bytes libftx/libft/ft_itoa.o | Bin 0 -> 3472 bytes libftx/libft/ft_memchr.o | Bin 0 -> 2736 bytes libftx/libft/ft_memcmp.o | Bin 0 -> 2840 bytes libftx/libft/ft_memcpy.o | Bin 0 -> 2736 bytes libftx/libft/ft_memmove.o | Bin 0 -> 2952 bytes libftx/libft/ft_memset.o | Bin 0 -> 2608 bytes libftx/libft/ft_putchar_fd.o | Bin 0 -> 2368 bytes libftx/libft/ft_putendl_fd.o | Bin 0 -> 2488 bytes libftx/libft/ft_putnbr_fd.o | Bin 0 -> 2736 bytes libftx/libft/ft_putstr_fd.o | Bin 0 -> 2448 bytes libftx/libft/ft_split.o | Bin 0 -> 5296 bytes libftx/libft/ft_strchr.o | Bin 0 -> 2344 bytes libftx/libft/ft_strdup.o | Bin 0 -> 2824 bytes libftx/libft/ft_striteri.o | Bin 0 -> 2600 bytes libftx/libft/ft_strjoin.o | Bin 0 -> 3432 bytes libftx/libft/ft_strlcat.o | Bin 0 -> 2912 bytes libftx/libft/ft_strlcpy.o | Bin 0 -> 2808 bytes libftx/libft/ft_strlen.o | Bin 0 -> 2464 bytes libftx/libft/ft_strmapi.o | Bin 0 -> 3000 bytes libftx/libft/ft_strncmp.o | Bin 0 -> 2840 bytes libftx/libft/ft_strnstr.o | Bin 0 -> 3072 bytes libftx/libft/ft_strrchr.o | Bin 0 -> 2736 bytes libftx/libft/ft_strtrim.o | Bin 0 -> 3736 bytes libftx/libft/ft_substr.o | Bin 0 -> 3312 bytes libftx/libft/ft_tolower.o | Bin 0 -> 2184 bytes libftx/libft/ft_toupper.o | Bin 0 -> 2184 bytes libftx/libft/libft.a | Bin 0 -> 96860 bytes libftx/libftx.a | Bin 0 -> 5204 bytes libftx/libftx.h | 3 +- libftx/printf/Makefile | 4 +-- libftx/printf/ft_dprintX.o | Bin 0 -> 2528 bytes libftx/printf/ft_dprintarg.o | Bin 0 -> 4752 bytes libftx/printf/ft_dprintflag.o | Bin 0 -> 3008 bytes libftx/printf/ft_dprintl_base.o | Bin 0 -> 2904 bytes libftx/printf/ft_dprintptr.o | Bin 0 -> 2920 bytes libftx/printf/ft_dprintstrtab.o | Bin 0 -> 2856 bytes libftx/printf/ft_dprintul.o | Bin 0 -> 2520 bytes libftx/printf/ft_dprintul_base.o | Bin 0 -> 4624 bytes libftx/printf/ft_dprintx.o | Bin 0 -> 2512 bytes libftx/printf/ft_eprintf.c | 24 ++++++++++++++ libftx/printf/ft_isarg.o | Bin 0 -> 2568 bytes libftx/printf/ft_isdigit.o | Bin 0 -> 2176 bytes libftx/printf/ft_printf.a | Bin 0 -> 52442 bytes libftx/printf/ft_printf.h | 3 +- libftx/printf/ft_printf.o | Bin 0 -> 3344 bytes libftx/printf/ft_putchar_fd.o | Bin 0 -> 2368 bytes libftx/printf/ft_putstr_fd.o | Bin 0 -> 2688 bytes libftx/printf/ft_skipflag.o | Bin 0 -> 2872 bytes libftx/printf/ft_strlen.o | Bin 0 -> 2472 bytes libftx/printf/ft_vdprintf.o | Bin 0 -> 3832 bytes main.c | 49 +++++++++++++++++++++++++++-- main.o | Bin 0 -> 1608 bytes minishell | Bin 0 -> 33424 bytes minishell.h | 12 +++---- utils/.ft_is_a_quote.c.swp | Bin 0 -> 12288 bytes utils/ft_getstr.c | 27 ++++++++++++++++ utils/ft_getstr.o | Bin 0 -> 1456 bytes utils/ft_is_in_quote.c | 29 +++++++++++++++++ utils/ft_is_in_quote.o | Bin 0 -> 1240 bytes utils/ft_strnchr.c | 15 +++++++++ utils/ft_strnchr.o | Bin 0 -> 1080 bytes utils/ft_strncpy.c | 14 +++++++++ utils/ft_strncpy.o | Bin 0 -> 1056 bytes utils/ft_strreplace.c | 17 ++++++++++ utils/ft_strreplace.o | Bin 0 -> 1704 bytes utils/utils.h | 12 +++++++ 92 files changed, 241 insertions(+), 13 deletions(-) create mode 100755 argprinter create mode 100644 filetester.c create mode 100644 libftx/extra/extra.a create mode 100644 libftx/extra/ft_contain_only.o create mode 100644 libftx/extra/ft_freer.o create mode 100644 libftx/extra/ft_is_in.o create mode 100644 libftx/extra/ft_random_generator.o create mode 100644 libftx/extra/ft_strchri.o create mode 100644 libftx/extra/ft_strcmp.o create mode 100644 libftx/extra/ft_strfjoin.o create mode 100644 libftx/extra/ft_strgen.o create mode 100644 libftx/extra/ft_strmerger.o create mode 100644 libftx/extra/ft_strndup.o create mode 100644 libftx/extra/ft_tabrealloc.o create mode 100644 libftx/extra/ft_ultoa_base.o create mode 100644 libftx/gnl/get_next_line.a create mode 100644 libftx/gnl/get_next_line.o create mode 100644 libftx/libft/ft_atoi.o create mode 100644 libftx/libft/ft_bzero.o create mode 100644 libftx/libft/ft_calloc.o create mode 100644 libftx/libft/ft_isalnum.o create mode 100644 libftx/libft/ft_isalpha.o create mode 100644 libftx/libft/ft_isascii.o create mode 100644 libftx/libft/ft_isdigit.o create mode 100644 libftx/libft/ft_isprint.o create mode 100644 libftx/libft/ft_itoa.o create mode 100644 libftx/libft/ft_memchr.o create mode 100644 libftx/libft/ft_memcmp.o create mode 100644 libftx/libft/ft_memcpy.o create mode 100644 libftx/libft/ft_memmove.o create mode 100644 libftx/libft/ft_memset.o create mode 100644 libftx/libft/ft_putchar_fd.o create mode 100644 libftx/libft/ft_putendl_fd.o create mode 100644 libftx/libft/ft_putnbr_fd.o create mode 100644 libftx/libft/ft_putstr_fd.o create mode 100644 libftx/libft/ft_split.o create mode 100644 libftx/libft/ft_strchr.o create mode 100644 libftx/libft/ft_strdup.o create mode 100644 libftx/libft/ft_striteri.o create mode 100644 libftx/libft/ft_strjoin.o create mode 100644 libftx/libft/ft_strlcat.o create mode 100644 libftx/libft/ft_strlcpy.o create mode 100644 libftx/libft/ft_strlen.o create mode 100644 libftx/libft/ft_strmapi.o create mode 100644 libftx/libft/ft_strncmp.o create mode 100644 libftx/libft/ft_strnstr.o create mode 100644 libftx/libft/ft_strrchr.o create mode 100644 libftx/libft/ft_strtrim.o create mode 100644 libftx/libft/ft_substr.o create mode 100644 libftx/libft/ft_tolower.o create mode 100644 libftx/libft/ft_toupper.o create mode 100644 libftx/libft/libft.a create mode 100644 libftx/libftx.a create mode 100644 libftx/printf/ft_dprintX.o create mode 100644 libftx/printf/ft_dprintarg.o create mode 100644 libftx/printf/ft_dprintflag.o create mode 100644 libftx/printf/ft_dprintl_base.o create mode 100644 libftx/printf/ft_dprintptr.o create mode 100644 libftx/printf/ft_dprintstrtab.o create mode 100644 libftx/printf/ft_dprintul.o create mode 100644 libftx/printf/ft_dprintul_base.o create mode 100644 libftx/printf/ft_dprintx.o create mode 100644 libftx/printf/ft_eprintf.c create mode 100644 libftx/printf/ft_isarg.o create mode 100644 libftx/printf/ft_isdigit.o create mode 100644 libftx/printf/ft_printf.a create mode 100644 libftx/printf/ft_printf.o create mode 100644 libftx/printf/ft_putchar_fd.o create mode 100644 libftx/printf/ft_putstr_fd.o create mode 100644 libftx/printf/ft_skipflag.o create mode 100644 libftx/printf/ft_strlen.o create mode 100644 libftx/printf/ft_vdprintf.o create mode 100644 main.o create mode 100755 minishell create mode 100644 utils/.ft_is_a_quote.c.swp create mode 100644 utils/ft_getstr.c create mode 100644 utils/ft_getstr.o create mode 100644 utils/ft_is_in_quote.c create mode 100644 utils/ft_is_in_quote.o create mode 100644 utils/ft_strnchr.c create mode 100644 utils/ft_strnchr.o create mode 100644 utils/ft_strncpy.c create mode 100644 utils/ft_strncpy.o create mode 100644 utils/ft_strreplace.c create mode 100644 utils/ft_strreplace.o create mode 100644 utils/utils.h diff --git a/Makefile b/Makefile index 3ac1765..ac9d00c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ -SRCS = main.c +UTILS_SRC = utils/ft_is_in_quote.c utils/ft_strncpy.c utils/ft_strreplace.c utils/ft_strnchr.c utils/ft_getstr.c filetester.c +SRCS = main.c ${UTILS_SRC} OBJS = ${SRCS:.c=.o} @@ -16,6 +17,7 @@ LIBS = libftx/libftx.a all: ${NAME} ${NAME}: ${OBJS} + make -C libftx all ${CC} ${OBJS} -o ${NAME} ${LIBS} clean: diff --git a/argprinter b/argprinter new file mode 100755 index 0000000000000000000000000000000000000000..11c8a1d74e19662e5d5007ee01e96d5892e16f61 GIT binary patch literal 31064 zcmeHwdvsIRneRT5jwIV)$>wDq2@ZkAlwu4aloUda0VT3|#0}Wjd4LeM{AgrbwI$*t z*EbHfQxxIU=_+e6(-&RS&d^!Olyy7FC2*lm$O_PAt-80Jgf(raZbK5eVG>P;PMwt2 z_xJ6`(UB}C>0`~zAKr=1xA*tn-+pf$qep$)@33haQ_03QF)Gz~4UQ5|#!5cRixRh< z6)=O{z)G1D7zaKErw|l51zT)_prBjw*#SxJxTGJq87NWNAix&!XBsLG36fko88Rzi zL=qKbUO^@~owBmbWc?KM%@%wLDn8R*g`l$vLu4e}$CWaspjD1ypJ=SX(e0?r30v0HFe1(O_pZ&=zcMXAgF^ zMnmk*?Nyt%1lE+VDZd3g&21g+k|#jsY`ms6)RF#64};i();ywqoS2YOcNrW~+p5?Q zV%&nKxT#c9WALmCPtvPWsRgh4nxaj^=?F|mU^)WR5txp^bOfd&Fdc#E2uw%dza|3z z?z#Sbf8Q0iKcSD^&X|8-IBJ_1@%O#tKF1xJxaF5XPb|BPr)RN&9F<#$Ha0qewCta$ zOk4l45fn+^>VK_@|8TEA{!4$~@?^jFww3UO#b(v|<8LG%MlD{}7XqX0IXB53@xT2<+6NLr{JiIV z*T~s;&$vGxOZD}PYn~_ROyy7bQi&boeJ@PJcZ~ZRF8UK|FZjRfs4$3|onXl?;WRb& z3T&RF7$WfAJ=S<|{Zgy{ye~;ofTI##;xOSG_a}B-@|>OFUOn9R9y{cF&C_2aT}Is~JX)I48= zzpp;wdzBlu1|%aM@!F&ri-d0!HBEZ@ZW8{b5RuU*W}{kJpa+<2x?-6FsTqVYCu_A4VaWe3S}_o?*Xso=18Gd{}n;{*Hv zq6k23H;(Zs`$GzGPG!gWW|CK9Mi@)>Zgj(ZkRDT#k zBY2jdi6Bm%<k;&XAwm69Xv%@c}<^#?KfW zJiDHQBNZGBmT`a{FgQ>uvMK+d&x44U&fR7BF|aId({vxqmO?KS674?C=Y3b8idVwlu;Yql27lYrFZw?wp$6X- zOfktC7^7OzD5b&S6aU? zX5&5A4*7nU=(*+}jQ#EuY_Vh^hMHKC)B>IMpD%Qn8NkXg%Zc*i~wwzMiYC zp8kBOK(5g<5J3*pXWaK=t`bXe0{#4Q-*}nlbM(avZ6*@6m;DVd`t6n8z8Br`B8=z@ zWAh}H57ZN?B>w>?b!hgywcQ?tOV{b#wo(F{Gde1;eS^h_9`6O9> z$!hszqV}aM%g2>vEKb>$k0*La*YQL}as(|+=IVvHZi~4uN^?ia+&8S|jwWiqk!9|X zGIw;cxkHH_(sc;tR!ehZG}-iAjd=zhm9-m)igv_uGSE#u8bR)4FMF;o6Z>UMd1t9Pl5Ovc&>cYm zp^I3Yy^7UX^kTk`AZHy=YIT;@?ZgqnW;vS#K{?AeA=$%dfH)FogbiLGXMX@MD0G=K zD3)xRUTDb{^Dowqip=$z&H>hipdE^^AHb9L_t>Zn(m+@}>|cR}lcpckpVri5+j|oe zaxoUW29u5@{1RUeJ_Xx?rLX6*<{7lwp>M6M3vNZ`Y`<0R=PdgRvA0-2a#(iG&Qep? zT8F6m7Elm%@{)Em=u3iezG5r@BVVy_P&lbp9-z9ra1;YSkz;q$={%W4IPgZZLs>rG(Yz9k0atDI=M4A?V_TNC+bd|{lZI2K+z7rZ9`!S7Tc@iSyR69h|JnukOZF|E~*AqDS z^CK5`f;z4B$aRb4Qb={=l5I*dW6K3k+KcCe7wHXJKM>Z|H`=s~xVzwLLcQGfcEXF5o{N=&;M%d#) zq-&!q@$dD$sKslq;Bdja{m!cx4;SD8cJ`t-(tT9r|JXiw+m??rR#{gSf3>oNPj7y=C1e*Wb#@+FQfRSw*)67u?^_7;3U0DmQQ0>brwA zbVV9lW8L-3c0no@hM2a{zJcBqUyQ1c{2a#(Iz^36Owf%{1>jo16kr6f<`)wa^ySaK zU((mWj12?QoguqCF_8j{0D5tH9s#8HZwrdB9`uKpwF4UC2`za0swB1$n>};0WNpe}g=g0lg0J{~GduHGnmMy@34h z3vhQZgmMJ%1mGy(I3Ojuw4kItd^gj&z1qSVE;rSc?(yl0{nEcoOspb?tu8O&D)6}q z9Igj>T8igZe0qT+8Y}ePQCL##DR|J`%Whw=;o~7M}oDCn&j`WsFC+ksEMJ~1(xA^#IoJ`DPC^pXAy`lBZOFz6+3 zOiYwn=?$DL>JNGu=m)KITaPLK3g|~cr|*-^__U|xuYi6Mbc&Nnx1BfTXP_^(pznsM zZ5wyl33`a=cNBU*Z>uUSdD8AH zEFEz5iF(mQLE z)ZaNT6h%hgrBb4A+9{RnG&rRFFC|6)%^$=u!fiJ=UhSoh$ufPzPpM3n>DzBgJ^}D| z=_1khc9iA_U_P-$6RF1F5L;KC_!$d1b#9|q9w^Z(Pm~OY!J)!?Wm);H{O;L$o5I zF=rSLIw{!7UFXpHF1NcIr95JBQ4Xi%UjaB+6i?*@9WB3x4;^tz=NNc0M#oi~wV>5~ z7ii5x4QjVN)qRnd4&Vuo_Ki@f=yRfUeGQ}~hh1>|og zD~0)ALUuW_1%HRkj5qPn*i07?C51mi;a><*#0u$%C-RQMw~&8>hj8<0#oVMr($fJVY1J+W6SANl} zg4V(-zlc0Sb2ReGUr%xbt%k$DC|M)B6_YKh{J`u``_uS$_7P9y!$5#}0; zxDJX!$T@sj&fEnQEXsMAON5FwqvT-E zgHMI%Gstg59I02b5`&(M?iXy!r1*fbA1gY^D>u%PrvG4GxYB;^qPI%MCYF63a> zET#@2KL}IQ8WqyiLF8@Lf>w8wo1!t^HD+w zH}nMZE*>m51?v<(%uT_foWo7QdVx@G3Kr$O%pro6$LdgYuok$iqV>11KLb^!Dh$gi z+>E@~oZ7&sa2{g-A$hX7deVX0PC5vlg^Ey28;s`#^wZ z*>`xOA{?UcP`#Nh+Jes!E}A5C5e|1B@?z4^#iYUh0T>5c1kk)1@e6K@t5HOsf~VJ>PG$~j!rEGO`ByQo8hbsM-RG>^cx91gM+*~)1&#GUZjPo<(2q9o>~V&Y_W(Hqz|kaw_8InqsC1Cfup zMBpNe4Ps{0PBy!>q}A=`hI&9jaO4yqOObX?lP}(+pfOajHf$6B!uje z$B-9YQpKzj&FNr&XYsQeT3?rbrlg4Ts9zD9CJjVRqu_lR00X<^QhQUido{rG5gUna^L;)9L|?<8xaj+Qp!SW7hKG;S~e z7<&L8t?pYSXic>rhL`eIR9Q6RvWui2)!A zTHWj9nwpbj=hz1-%}}DUG()Mm&mm0n&^TDT#oW8l^S(3}Sz?fkFlQ}jb=Rgg*PX+h zT=_)pzGE@x!kDbe7qvUK#2{sYNy5?GVT-5LK+X(SRC!$%Bv0ZY^nb zJGoH`9?ZxVlqI>w(B=;vRPIlRW)A2_C@;n`ywjEy&eH9L-gyfPi?m|+V)KA*F9)UA zX_VLtKUJ`y;HLRivu>XcYdW(@RMjjPSesFF&Sh1zgaCT!Qf4pQR8WB0xIMt5Vjtrm zr_J2v?3v~qndbBosz}<5OPFyBGkI2L@X50W*J_*-m&eH6Kv= z=1viFm-5t|_B4;8^cS)9XDG?)IO!lbh5s($zuVep{tR*^~}NN%#7jGigRoGkeMUxjT*%t+7y3!lqP$aIr^-o(S2#c z$XVUVdj1ne+<&zvncYB7H=G<%WpI+ds)@{{#p7U$E?Rh=_Ufl+S=G1=I}Hks}PJDbz)soNiN&z5id2ishIj{7Nic|mv7>-o-2@M)th5B}t#LJqbJUQG@c z1>r!W)eco%UA5R3Y5L53_ZqYAj?;QxOrPb9>b8vlExHT!URbZYHtO?GTIk%U=U40Q zdcDwj8-lbE5qb^68+qVL?$Z|`yR=&J%m9xY@;ZXL;50<4^@6A=VRPC$oAi8pQ9V@z z!M#mq_IrnPNB&#ngV%XVFFB~+)TFO~2T{GE-X0#(ZT8t4^&;o@^f_enpzd%!rP~Je z{5?Dv)HpkMf5Fe0&NLrbtT(9|fxPT^4ZDxxR2XGw=%45DF>Tcp$u*~*qm0V zZcj*IalU&MLR77n)ax=(&eQsA1e&5;j|ia(&+GH<<r@8S)bOf z#@6Q6Xxg^A_7Ihc=^mJ#-K675o!fR=*J3suf%*wod|yt*f8-#0pf%ED)<1igsml`b z$B}&1&64S`MNcHtRE~ zdSHQaRF4J){gWpS_OYDRqd_5>jYb@w9H<+pyA<*?Ki|C#9SyCfd zK-9h<3Q&&{*Lu)&KvZkU-U!x37XYI6MNxoylz6q$T1%jH5wz|H>-84^qW0^f0QD$k zv62HcH`u>w8dB1GA-&{+eJ`Y!L;>nilG3v6W}xl9#=GY74{5t_V1KYHlx{wCuSCsP zkTt2fV|^`h}MWUT)|I{6l=w3M|^gf#HA`o)|Y);(UWUMBY#b!|;WBYG!zz zM=6jqN`Kq{7GnWxWi+^7_?tb5)zy<2#7Q0T%gp;}*7 zuj@2ZHzRl(5lF0~&*}MlsRDdfJ;#UVzQ36BF>7zg_Fi2`**9hNjD=!Vno*DCW*cu1 zYU=r?5p_O26=2H7xWONhF0)b962Jx3`b|&Mq*LU)hc8D94(f~0S5BdhPw7SX z3LKx7@`0EI5v-|VncII#_s~>G(-&DRzK9S(I}NwAANd!dif=oxGVXRqbr)pZG&%vf}a;43v% zi#`KHRJNE;vF>tOz)$P;=X599&wk*P9r2Qj$adZbr`~#qo)rtHM}e`#fDBHp7^MsI z-@vTOw-mO^yjyGo#lfat?S#JWv^sSUCDgqp)FCE+jJo=?x?@WWc%Zz?R!7%~4z>i( z+#9XduFUmhi2+uj%$@%rH8*c}Av~l9*-Q;+@3>#g5n1t_r=7#wG2b(1+)s52IH&KQDHmJxw1v7>HDH?+I}nPlTDxXdTWfo3S4$`yrrml|v|E7m2Ay@aJ{$@}8STs%HtfyO z79yJ4){m-I2&6?>Q%7f8Fv<=DS#u=N(bUuxin1m%*MV=0o5CFr2GDHygo3Oy)Ewvv z9teq2AaEdve-XPY8i)p)@ef~D-hFrFJ%L?S_xb|6@2T+x0>JH$wT7du?TV9ZTlU+Q z5>ezt8){~;NGlE`o!nLHj+AO`meV3~du6JiGEvjJzjT4{UFj{ErIgku`YA}lBNQ1v zU1QHn)cwOUYM@CJcB>DV?W@#UxnVp&7!&2V#*( zsFPFGfCr6d8MOCVn={_5O<;Zw;w`2S1a4F8&B4m)&`+ zEGNE%(Z5TXo$L%Z!a0(iEy#hz+Qb%4fmd%&Ws>dex=aL08a@v8Zxh*s89>3aCjTda*I2r~WRKDod^9#W{+|J!?3(YJ5i=5fVWP3g?MUB@=JNl` zQ{bPT0xve?ljCr43jSB8!2faz{5wwZ7m26chJCll_^G0OqRi@+t7^roeBV z0>5htd}s=MbPD|AQ{ev!c&e}Udtj$kLo|F*Zs}uA~AnJWbC9sITjm6uB+4Ijb$*{jq8~_F9m@wrt!7Z;41KqDo>x4_+v{9US7eUj2)DCBMbjYe8pLcw;;3UwiTC4bFqgL8IB{_jh?_1j+}JwSNd z3s@HH%Yv@WjrX* zjNb5}`ew&-Gmo=mvVczmUu2udDzes*y@Y4!brUar@YDu8`9uHIG9_HG^VGxfvS0!8 zP%kg$Z6iznQ^aqZ$$I7dulmmhsbBp*)GDd#TN1A>Ppj z|0F;C8_|^LYL(J!5`RqMotnVEA@S;7kpGPxNWWHkULED=^#Dq%Bwk%t(>sBbZUdg$F}uDGlApF5`>Tdd92;Z! z*RC5_V+cncoNz*&foNNx0UP^J7fv;e9f9U>$NpeA&=~FL>9-K?RbEfNkzLyhGX zxj6z&IOgHx)ERsz5NeNhKE#?jgKeQeW2~+1A&6K?0dPh$Sn1b>#4fuP<^rFMbwufI z4|`{9@Y@?A51EC|P$V2|uo7G7mQ8SqZ+mFRt-e}8KJ!49K7IID*fYDlguce_yLn-1%e;8F(zPJ{OlD}W&8#fXk8tFmSB5h zIK%=~cY&)BR|2uF5CWQx1qD?8(pIMFKw~)28Nv^61*16EMuXAThCrm1pKgT*be1;V zktb$cJ#=+RfA~*z@oKA~lV+#0y(udX@n)HyV$-)Ka;Oo%*=J-yerbmK?B20O_8wN= z^-vq`i~;%GF<^_z;lv&4jIi={8pqA;v2wa7XT9%_-3PfH_YRY^#QSx88z zJQN4pS{q=s1G?}i=LUo_gq@XRGHk;f2WLb3W6c;VO&uy9+`qpwbU>BxlX4-IM{LB5 z{pUUD#70X9mRFwCeZg^w$UeErKOGa9Ul2u;a zKP08X(hP3e>t?2{DEpW!fg&d4E;-M{(w zQ!0M+rZB~X;>(lV$6?dOQ}&I5R4a&h#__SrmrD6kDX;uj0urs%voB`JtNmh)WPD?m zk`z$ME9_rq$*aFFTfbCr%v6jLX8V5(c=BJx-@IRvj@L*z1+wLjXUVI3DD^v;4pMGO z+49eUX0@;GtLj$^A$OL5YJa727#X^Qk=@O_*HXWmna!`t3evd+rvp=7oj*%90g0se zL@8ZX_)8#A-%<9}IaU2G>4>bq>R(Duwc{@!ODsxW-KV8)2NFr~iPB{IZ-QWzH}BmH zAyK9TB~44DygF}{8A4zx`%)eI4Kk!l`LFiv>kYx7?1+-ErSb&d$A|1!P{ERv ze7yxnS>mOnpdA^N7ZmXvG6eh&HGxTDHZT2jK{k$9AKxYfzM~p$3i<1%kiYeAA@CSY z?v|8oi|(limtFr;dxX$^DzH+AlD9&0>{{%U1Vy1&)_*aIetcAWsQC}?!<%gsRH6;wJ~=a&CPhu~P7C6HBQ{~u$nNb3Lq literal 0 HcmV?d00001 diff --git a/filetester.c b/filetester.c new file mode 100644 index 0000000..0e72bf4 --- /dev/null +++ b/filetester.c @@ -0,0 +1,41 @@ +#include "minishell" + +int ft_file_is_readable(char *path) +{ + int readable; + + fd = open(path, O_RDONLY); + if (fd == -1) + { + ft_eprintf("minishell: %s: No such file or directory\n", path); + return (0); + } + readable = read(fd, "", 0); + if (readable == -1) + { + ft_eprintf("minishell: %s: Permission denied\n", path); + return (0); + } + close(fd); + return (1); +} + +int ft_file_is_writeable(char *path) +{ + int writeable; + + fd = open(path, O_WRONLY | O_CREAT, 0644); + if (fd == -1) + { + ft_eprintf("bizarre l'erreur"); + return (0); + } + writeable = write(fd, "", 0); + if (writeable == -1) + { + ft_eprintf("minishell: %s: Permission denied\n", path); + return (0); + } + close(fd); + return (1); +} diff --git a/libftx/extra/extra.a b/libftx/extra/extra.a new file mode 100644 index 0000000000000000000000000000000000000000..74485b5ee95f113cf0c2e28743373c9ff37211d8 GIT binary patch literal 41152 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 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_contain_only.o b/libftx/extra/ft_contain_only.o new file mode 100644 index 0000000000000000000000000000000000000000..4b885ebed0da9cc0b7ea625cc6fa1281c5574afd GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_is_in.o b/libftx/extra/ft_is_in.o new file mode 100644 index 0000000000000000000000000000000000000000..9ac57679739ba6a8920e6bdd498aeab6abe4b698 GIT binary patch literal 2376 zcmb_d&2JM|5TCc}brKA_PSOu3RTWjO5JFjpkV=6f>I%7p3VLXjUMjHG&e~pKuaUh@ zQ=l|_Rf*tGq#pYR@F(;`LP#9wvB&lgsANurTP2X(nf1(O^DqY_MtW~%elzptz46TY zhtiqP45dIw!3o&b1O?czw&h|h7QsQ!<)zJkiyK=@o8ND3l%6~)^~tt$yR@}bJ==Hg zXU1>*2hPoT4Rr3GeRA|q=hkk-AC;a{!pCpocDvNS@jz{s`j3Ab3|8_ICo&*>FH1Q0hksT44s|^$Smwotq;JoPvmkr zfUE=L09SEkC=rauFQ-erNDYJxfk{zclct;ychk6gaj5l%T6?HnLY6V^k~^qL@`SjK zRwhfPSk7V*E4?u4%~YFSSf5$-JKdli&K#b1=iIs3BfZ#o`06}r3+_iyi^@T_9E5Ha z3Sq5VXtY~?w@|G%yxyuG6&B_Ttso4#4ZqneG=oYlS}XW#QO8RHAqXSrMjgNq+#rBg zy8yic-iUX6)uk^%t>xAJ-DBfFVfo%goEB01>`(3dkH*P8S)+;`fa$2%@8hnNdS>q- zMpeh9k{jaFVwy+_ZaT`!?E1%==vn#f@0M}g8p}4UNfhnRtuYttS^vW_?wq$&&#>^! zVf={w8e$oEIv8OBbNdJ0VK&h+icG*R96=^vcWHDC^{LePacvNj6Lz7T<}n_^>%q zK$;pd5PX*Pw^Dd&RN54{9G%DCjMv3^R!yR0v3_!ZXqmrd?Z z!$%Yk401VN^vkhz8~>K|8Rm5N^!*Er>+b@0#jo`0Wv^1{_^aSXI1}Jj+pU(5)4)a= z3b*4oJ=TM;)=rud+^`+_?x`=9XSn{D&FGer1zys;)I_>qsVE$BkAT&8FXKo3&bw!?u!h_+{+R2e$hK9jH=(S3`(7- zeiOJPUU2#z=yyUWxlo;y6zRSm+D7I7Yeatfy6XAALd-lfpwGrSu7srj1)%#A>G^*~ UOs^gJ{mtM#QjjQ)W<<~bKY$V0v;Y7A literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_random_generator.o b/libftx/extra/ft_random_generator.o new file mode 100644 index 0000000000000000000000000000000000000000..a64dbb0eb173ef223a76f23105a0b1e8f5761ff4 GIT binary patch literal 3480 zcmbuBU5Fc16oAjnw)F>_Dn3~Hu=wP|3M~k>Aazk;J!j_L-N`unARd@| z?)mOH_iyH&J1=DqJRwUG2$5hHtXP5qO!lqRGj25lL+E)(Z~vmVe$D9Zxm$X>c|*S> z{L**chZ|(HvkR@cg{9=_0W|b0*+qgk&tq|kM!Gn(6+B11ot@WPbMp{zJ%wJKxdpw` zoWC$AoUdfBBc}ekuI^;J7=Kys%+0%_>g_M}4%!cOldUb}*ul;_2fN9Ok(iRb-p*b} z($!m+B@FA{{CsI?X(hHmtp{)D_aD5KzNY_iTW=p)ME6C#^-bpR*Qug8o3ah7Sg(OJ zB;A)7VM=0f{iei_G^_&1NgPhO7nH=Vcsvde(a>pF&1_H-562&gZ{4_W26p-tJ`sG7xbJ9njY7-Y1_uOH{HhciE*?hvnYPU0XvK2EI)rK+ zXVT-!PPS1kv&|UapJUM+i(oJE zr!0Dy$;8wb*bwSCI!c@?&g>!0n~5b_JG~(bKH(L(~J&P=E!I zYb$^+AVd_PjMgjX&>ZYVuJz6;TthzWo2UEkk*v{3_*<*+VdNyVjqU+-Er5Ht zrUZdG3jW6YN8%o5w29NI1#e=VggB)g!CxbYLcAXz!G9!(LOhC(;Fup>Azx|}B2pP~ z|636A7krEdtmB%v=#$W0K2H7Y;r3>(X&?Mw#RHs+{$J$w_Er3M2mDWP`>6mInecFc zf57b{0saZMj|KP_+Hmio_V3G!{P_NZY%&**|;n-oh ziidc;RIE}R>NBQAo)}QYnr77ZV@zG^%b z-4uXp+Hb$mJwwcYHmE&A1&YWsp7rlsL;o=T^C|p(=7;kP2b81e{fi8_f%BhG)A-}u z7HWb|RGfFg#r*wR)P)b}42Ly8#Cp(oZwRB1^W5=UGJFz@e;nJw)<45Hw95l%{e*(+ z--3)>w&CNK20tu6_#xKC_(D@23yaV2kAm(Ezlb=Y^Vlfrem^VhqYCkT-D5L+y31Y6 z@c13e#H)z)3w#zUVf(j(JBsgw_K)r#5ij^@WMT7vn~(n|w)-XMdlDPN#(z3we7ePh shrYB7I zge17G5VIt%NLCOdA_xjD=z@YCJh((X=pH?K+FU#Y51YLOJjAN*S4mHA6vQIk_3Epy z>bP;?W&OWUw3a}_}1`aGn0cu?bwb6du>zNB$&_U6RqW52CtZWwPL>2M~J%e!EFu!*jB zGB>U$#)?4y_Fzcb$}Vpz*|p5p_EpS(kTQ(woIJ@PYnfeS?!Nr9GN{~_8Wvh=;Lc;I zL1jn>Pz_{hCVGbS=}|3ps`v5U`;X2HKXDWwAwZST%rJnM>M->Ym>CWO0J`o4Ep?{1 zw-+F3AdX4Dz$bwZB0*96f^q!y4FamhC|SyjWGO}y-wE~dTxh);S_Go+GQNd+`PIN0 z+#sbd(Hljp>r{3U^~Yf6L^4SM!B|)H&jKGNHv^$k^B^@3X+o3~q@({#rs zCe3kkJpD*Ja8A5AiPn_)C{+Bs=eJ6=mSdK{ax0!yYc_1pDwS%5_Pp&|Qdx@`jF3ip0i}49P8^!uH)VuN1PrK+5vbnHE>aVs$W;XLI%J?$VtF==ui~puT(!N z+ERQJtL?Qc$1T;{W!qXfc_M#eDqVNn_CmVqwymP$d+_fRZ&5O^QdYe_-$+kPQq`_|Mcm{}+5UY>kFV5MXS);Y^PzCV(a@npR9Gt9fL_*OFMfCLiE_D5z(DbTETo>KT zqF>L6?wlCTiGiFr;)~IWIGz)uIdM-;du?5)+Q?~<(60;id!fH1dXSBO{rEl|Bxs%(1DSm0XFX;q5-yGOmb)sMe+xGj2LI= z!EsP18ONPUc-XEmq!W~td|*m%K6C*E0Lw(NRA+KyXkg6TGW+kEEv*|g^u zO0P${3ry<8e4$*%+pyXZiS2Dmz^>&htwO_&1Y%p7IG0~2qF!u}{=c%038Lqd^ZhCh z@TUw&9dAMUi6e~9JJYA-fct^*0Uk(AvGJVbx+VP$saeIjCOYC6abJ<(mmDZ{ockc+ z(LUU#%Vyh<0V&C&AAXY2PyzKDQO2dsitoj58IYRiXHEa092WnBJe>4>QQhHtqw;>M%*NN)a9f@b0?wk0U5P}Efp)_O8 zn2EpRhtL1@A@kGi&Fkm+XA#rR?$Q4~Z{f2qeEu1r^^?Ts-#{#0JK~*_MY%!-3dPZq H;`9Fvg&$Qb literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strcmp.o b/libftx/extra/ft_strcmp.o new file mode 100644 index 0000000000000000000000000000000000000000..0ed8391828a6f116caac6763b92ed3eac382c769 GIT binary patch literal 2424 zcmbtV&2Jl35TCan#)(s};{-?vLV*HRg|bf4Ahm!>5SY4B%K_lZ zzWBDL6bLCe2eBq7z)xl@FGb=KSm?Q2+4-}wbM2_I(|K^Wd`Onc?ebB@xpZj#GL}X8 zLB&}{d9pBnaQ2Tc%lEBYj}JH**_%gTeS3hWugdrLly!?r-OJ_RHfqdRB&Q!=AfO3Iih7SUW%>BjwL4oq zt<%#sV$IO*c#$?vo)ER!G%{C3&R~yg9Y5^MI9}CXo7r^RL8Il*%rDq;_T230PGp?F zzJS`I{W8?Ul^|?8%?;aul3x!>>#e36lpJTh+Szo&(&9p?+3*{|y6br*uTiUqTP1fZ zY**t*X!s!n^ME032o|6L|LqF&9+UJyQdi#vwN+5lV~=Hbv42k^Mu&*n1aIUEpKEU( z%V^u^0nkFofD`ysO8uQbMvU5yN5wb9cZ+DG-*VkjrZM`nInptUnSImRH>W~#x^6zZ zuY0?urcb_xP5s@}zA;BXh&&4WreQ10HsVnf3S=A292n59p%kfMYp? zbii>-(J9o6iTqKo5R(j}C?~7PR1)5sRuqtmJqCi$vi?K@PpmdPmB1;_S=OInPTlG^ z9p#rEflHj!U1PuV%mt@~AX@IR{ynd;&OdY?zri@o36bRaxTnIW%mt734zU@=>F&w< z&oQ2UFR)kLT4!ygTC26)O|V1U5wM+Bv+3e;un`w6o=LFVu2*GC!>_l%_FJKApMPh0 zHVCWEM__y2W^<*wx{4dTHsJ0xe3t=teWl*6Hr+Te4!ez&!fFlqCr#r2pT5Qv$@!6t zQ#=gc3&1?RB^Kg@$vlet5(_e~f)_+!PO<5nWV*}t519)~`<_8V8YAE57~GaX=4s#4 zh$r_%+<)YzoZ$fa8zMjaG(|MUoc4iSWPTWiAO5Aj+=KoDhsD3h!)Z%G<`O6TEsjsQ z!R6#|CyWv&5bXtG8)^6V8KC|qN#0+u0EJ=w`-?&86ZLNdkHia3--Gm>5Q1H^GA#=)T{A$#HA2k|_n?|F$VJt6h zZjj$-j9o)xBQTa1uNlg!QD0RqQ+B~vGwO?LkbI+^0#?ViDDcK_fpMJ-^lw7){Amu| zL@}1fHjU-U>qg^eqyD{OG^Va6FFzSm>RU+cB_b!h(;Y)~jks@j$8KE3*c*P%?G{(Z z)_tJ9xPh^gL6LP{1RrH`eW%F!PLcb9B0eEh#84;KsnC^BA@TS@8^riA8lw)^aDTRN z-7@M|M_>Fw=};a_bTKuNy0bUYp>%2hktCK;b@X&#Wf0-e z=`H{^yvx**KxoSYpe9bVwY34n_9GIcz@*>c6~zm2|5fkvb@_G*eGyflWGT;)r6iZ} z9*ta>-DMSbEEc)&l5cfGb^rDcKQZ~^Z|XK|8UiJ4!$~s*0BBv6ugY3qJJt@rri91k)X z*R>YRj0a+!hjP_}|JGyhgx&l>m4#`*1rWIMd&e|~~{tN3w_i;34SPFsmaTfKX+r}|!ghifbE$3JSJyGr4 z?Gkigf^MXBhy?L*mXvZ}1`R3L8wI--JqDTLz?+r|&_Eu}nRoOF^nUfaV4b+H44Q;d*Kt_ZxJ+xtT}6J%WP3gMJz zgxmM>mD&owwTJh>k8xbowYY6a_yV{6QHi?XFLHcZ;xBQ#BH4gyN|E5H{tzxm*eujwX|xWPn)^wOeUMlRm?fiE2f>*Jshf_ z=gXy%iIbBva5i&y5Meoma(Lcw-8LQ2ow8@@r=FhbcfD->70_*au9V46PvZ~3%&sIj z;Y<#g#Y~}+EtycLn0WIt`K)c1^WhRW(sXRY%jR&MFVXtH$k&)9{2hy=6R|+MA^^V1 zlZJi|2ovW*&_}r<&auGdnLvLU!skWsVmx7u1H_~E%G-h-j#F*9Cvv^T!4l_*Mdltx zhl~;TPY!-70{JR)b;O(Xzr_2$$OEW9pl z3%rI{v;Hsf`WeY7nSg&Bn${m^QlDnLT;D`YJ#({+%MxDOVsN6^M(UqLu73$JdGCnV R!+#Vu$v~kv`lRIg{{lxwxJLj0 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strgen.o b/libftx/extra/ft_strgen.o new file mode 100644 index 0000000000000000000000000000000000000000..261ec45d5b8486417c854aed2d70c4df49444d9c GIT binary patch literal 2760 zcmbtWO>7%g5T4!j+qiaOJ4w|h6oDm*xRBi>4HC4_8X?2REgX=7%Aqp;S=%etYp~aD zs0dV8KtiO72#`Sh+$#0LnH#E9MBv;@4jgVQs45BwQQ$m`kYE9R(MNVJFmsT>$Te&0cdP%$Vs3MPGk@RO>JF{#jiJ@w zReq#lh7@XTi+I+q`&`;Q{}WbHl@18e)`z0KqC zz}LU6;5d8t?j9T*aNqFfSez0E=-5ZSZ}op#ymCjGRvu5yGA)%kc`7xn%;3z`G!Cj6 z=$X-Tb6VJ)@kOoQQvlJN_{8^pMcL z!t<%jN9qexx_Sd60PY|agV*t`D9T@{DN^*I@KMZer%g*SUANa{oWI z&ywg<3v5zvAo(ntD6m9<#q{Tx`ok3rEwCgqn5Ckr=oi%l&N&=@%zFp982ouK#swN2 zPV9(V<0tkAi9id_l1wB2;Hmx?qcRUf0$f0DCQ>)}Cdg%ZEcFUqC4XZZlZb02f!tw( zpe-sAANCg-C^Mk~!7p%pBEmCnlX@t^(>Tv?{0P^yv(a68@?ZF~oELTL99t6K<2Yz< zv_GHzZzQF`lUVE|1G{O>2#=x5jySA9OIPcDY+GmdfR} z-2vxY5hu>G2+wgt^nu{z-k~3;=s6d04NlH+g5v1=;nfz1;HkDeCknV5L;*Cp7D|pi zgASRa*c>On5s6&Ou?F(v=6{`&4W2;rr~Z`Z{}^%a`K#zf&s6;OCTb0EZt}0>Wc#{>QH^Uo8|iS3#(l^Xra1}&!Nomh7k2ApG4pg Y0o+7G-aGQ$;!Sy*01D;NkaGQh0I2IDVE_OC literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strmerger.o b/libftx/extra/ft_strmerger.o new file mode 100644 index 0000000000000000000000000000000000000000..3526a301022e98049e9530ba20b70de95fa4b0b3 GIT binary patch literal 4104 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 literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.a b/libftx/gnl/get_next_line.a new file mode 100644 index 0000000000000000000000000000000000000000..7d3ebe911c407ebf42e2e9b3c1cfbfcc5fad0c31 GIT binary patch literal 5998 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 literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.o b/libftx/gnl/get_next_line.o new file mode 100644 index 0000000000000000000000000000000000000000..46741e016025c9f54dfde059777790a7e9391403 GIT binary patch literal 5784 zcmbVQeQaA-6~E8+b!_LuaZIx*GhM~Vb%w~Q{#4ePp1DoZ7%)N!6;caBr} zqojyHRIe~AnzRmSd>WBdmaAkg?w3lbAsEB*k9Ax%Ok6P=Wz{L!I;ia>lbGOj`V!*`JHor=iIM%@AH?(AN_R5ag>Oo9#CyfP^Bh^+VwG09aAZI9?!Pk%{JH4 zt;L(axDWVcYP?Dg+1B`Kwz;^flIQzLePjFQFscI^pu>-tOU>+47=<8Hy?u$^aaSj%^DM ze6sic-d)>|3_rMCsqm-@4;&dLD6~zfh*lx?I5Mo19_>)0NkwSS-DvYbZ*Q+su_T3i z3EM0}6%{kPmDb5dal*(#;CE1QK1-T&w25EXl%k4rEN<$gM?x3sR60jr1g{QVC>rf? z@`HBLXit!)qR-){$JCsdALWYxI7*V-e8OZ0VTuW7sJ$~pwsxjpC(O$<-NBLW;P@zW zoP@h_c9PcSI7OJpv7b3klY?V4bfs*x1D%o2w_82f(aLCktA{%B_>|!=BcUVe_;jOE zZ>00(TxB+W#;w*$^Of}8eVIL(J-hcejB)Rm_CXuX98j}veX8Ov)Thd&ikr!+kxHR9 zQkAS;rW*xSQm3fgOF#SYUin|Tg;Cr>!wYe~ z@T77U2AwMaMIDS z#P@YHdQB&ypFugP!_iqictvlC9@M=PI(||2M-Ra;p<~e^j1$olI&oEp061u&-u4KZ zdP`Hs0eTCj?jZNyUFnkyeNB~+NcP3*f8dy1g6-V$!@>&dX1>})`PZh0&w^hOg1cC zU&8IzkdIL%Z28-Uu+p~b*TWsGJ`5f@raR>()WJ^3X#d^>zZd-)LY}lINz7hB`Exvk zFQFtcdl2O@JcOs&-|RhL&ohp~i0r*{(7NSAd$$`-=S(+z|0ejaft!4I_q_w1-Ty5MQf`xA@{ z&#SCI9KcJgKh7ob&>9kZ$4qmx5nn{Vgsf?h@;N=2H9xe=mSbTsc6*U&gbah#`W%?x|`! z;}TciySoDZ%j|z3fJ?s)2kH`xD~051Gz1Gw;iHGp4bp05S) zA2Xijl9r{tZpQ-n66+@exQvh3g-81JO3mL0c0J{;>ENcIh;5+RkDai<%z zQ@QEss(VIds%|-#spBfGGWq$rITx4b%yg|LZgi2xEgVHpB~;P1`q51 zU2MaI*z+MochjK-8Rd24Y36<|Ra4UU2f5hqSTc;!4}?CAZ3*5P=q$3|Z{oX38x?Yz z*AKO$DxD!D_@Xzm6TgH7!l*0*;_rF4+lx-Q2fAoX(q7(+w!hS=JdCGX``0-Bw*tn1 zihlvS_kWTuH;_HdL;a^Qmi|cp?*&Gjd+^xu1RsWfutC%%zLa#nb!)$iCp7Z`?W-22 z?Rq@8AlN8z#rH2>dzof|)g-t7iH~>{>A%45qS9^sJjV-dfgMSuyNR@y@p~IsFehp< z$d`b>2aEw#{T{yE;+sn!Y!Zj!)076|)A<>Gbe)#j5*}Z+@&1#040mTku4yF1Tf}cm Rl~~+US2$rRD0VRZe*l}hOoadd literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_atoi.o b/libftx/libft/ft_atoi.o new file mode 100644 index 0000000000000000000000000000000000000000..749693b8d35870082c7affedb0f793151c683466 GIT binary patch literal 2952 zcmb_d&2Jl35P!RyStqt*Cr-zo^hPoHSQf64e~(s zUiACkuci8*@g3t%baSN>47=bPonXiX&vk-*E;!i<_PgLf3uN`l9Jn9LyxP-i>Tz~gQj zb_?6;p(a_c`-#J@?0=bPlM{$4WKktA0!1=N?+_?Ockm7Jjdf4^6qzdDSar3*r#-FU zYBBOeTh7&nNb?dyk9-s5099fOnOe!I#g_}|QZ~M3RjT=NDSmoJo7SeMo~^mY(;v^E zHmjXswzHIW%6V;>B}#TRkt-LiYGQdgm#(c@PGWW@QOuX})tpr*BntVA?W}u@p+`jo zvwX>6rB$cGs`!*^4y)#~rT^Fnb$)_gNYaOIF=>53ng|Da_i<1UAw~}o4UWAS8Q7Lz z>Q@y*LKoIVsE0j@Z%LB=iu4mBH+&?~B(Bh)}T){A)>?Z z28`P98q$cXxoOD6H-B zYBMVA!4vQ<+GB0`-EW5&-3N3>_$kbnL8pYO{7p9m5}sa{g7|h164ymV!doW`+>M>wap+NU(_^S8Jz;{5)G&;Na{zwN`@Av ziVv@IebkiYF%f+IF=N~VU ze03$C%_HVH(`Dd!dV0QOmzh>7JC^p!>kCs=C%t@GoKB_{3Twrs^vVieSJ{rRLcU~i zz{)Mzm2}Y(QFx{`tm33I$Ui6&|6k~H%+kKkMAF~*M*LC$oYTD8iS9AN#J&}_Bp1Xv z5V-#=MA6W`pM_tNZ`v^qkRN@&UakwAYWsU4m+Kt#kIC;l|1a?k?nv`#Cx84|G551{@D^7l{skX*z$L(!#ezFFNLp8%1I`hwGW?iL^6A64vgkwU}?ZnotVKE(BI zo1%;Fwui0qb}7`QB#)mH0Ow-;0{#SrZu7g%H5kJ*rIh_U-21z zDqF>fZuJkk)TcYxU!V4ua;D5cvtK0u literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_bzero.o b/libftx/libft/ft_bzero.o new file mode 100644 index 0000000000000000000000000000000000000000..77fec06bd430c62785a632d7fa4702e6f4325b52 GIT binary patch literal 2432 zcmb_d-D?v;5TCuvrPb6lO~tQ@1hfcB@7k*12WUmqC?Y6Cd{AOOHqGIEXzs4mf?Dwd ziazMGFM=Sq)IO@gGbbEL6BU3)Z}NEeWyb|uj+63ZBEVn~{a#RBy8 zL!};hVN_~3HE+5!!#jcPd!>m;YWpq^ ztVW|#cA$VckFozyrs}RFN0h(;jb@Y%hesp5xUJ{;e4L z0c+`l#OBTdn=P=BfxiBS*tgAy(ITSuz~Ox1o_1tS_7XavI*%&@=kd!J`#}RmGs53y@nGtIdp#(_5&#hn@!#_+sUM@>Yk52$c%y2-;84R zq@kTOST@qKn29{1xjD#mso>+>)LE>XVUzfrSArsq_!f79>n`leI z;uGlhAF-V);QItF^R|S3M8SQbpHc9uLa!_MU7_0w9tgc8IMtZ06K5(W8jdvH2WFGk zqv>j`UhnW3Fgx6-nIWGI!EE@h%kdK7<#f3laD)=yAnbG}R74~O+iUq?dVa{w`*>TJ^!ot{tW*A_)>5CHknInkR!Byq~E)Ov-_`W{BCSN-#%{*nlY|BBF8t)K26xs2mV(+&~$APu4{;4Y{8 z*(?5qa5VoCe>Sye+Vz7>lm>hF-b=76={rOrpG3TTF9;)&zdz9cZlTbte@_G`&zbs1 zZ-PzR_EC0(L`RPqn^V2QVPc8b$=5clDorstDsD2`;CmO(0 V6x804?U?{ylY&HXbjQ^EzX6^5-Ms(+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_calloc.o b/libftx/libft/ft_calloc.o new file mode 100644 index 0000000000000000000000000000000000000000..a17b032e83e911d908e02c5e7cc8188d6b668799 GIT binary patch literal 2728 zcmbtVO>Ep$5FXoWC*)^$lR#)Gpp^;&fnq0VN()6H2o{_)aHtfNBB8K9-XGQLt=4u( z11V8cDwcrM91!Bn1&KorT;K)*gu;zmkGUWPi9Z^V>uw6WY5eu-^?4o z_vZQS{QL{5qJS6*Ohd;KD8Q#iN1ut*8OS1Y!EXO#Z~T(8+iUxFJKVE3*7hND^HHSO zoB4e^vz_0Y*lGV@{}Jxn7xH_Vn}g)~K7T+-ettgUVQ6N1ZEuetyPe;~B)gD#=NR+8 zn7M0jVxr7;$m~sIxAO-$*MYt9ZSJ*ilp*Ee^oXvdv-h4#4=KY~w>k>5BU<{Y{tNv8 z+C!kFr~CU+O=U2rZeql+F>@j&JaTe&5KsRl~>48Gf(5&P`9qe)?=|%>sUSN*6WcqL`;B%V(0~7uH+WH zYHrzS`Sqrko0v4m&GE4_VdR{+K8eiM;=|j)2S3Rekt9t?X^;Ksn=%fU%;WUa73_+pzA1k{% z`WRe>)k~nPWR+6`J-xSaN$*FT9vZYv@N7DJOMPz8P~S%ez}E<+;4;1yMfo#5NP>0( zAH@p&7L{+g?s8*nVlvXBg|gxWvg%&R4a*LIAC${Z#jH_Wa*;3-q*S;|C548TQS^bn z-}ND5QGcMKpPthnU)0as(2Y4=Gpc%KN52Qv-bEe#ea1!IKuM1N9X*SV(K%fu$7Nkb zOEE60eOPgvy6gKRL{sqVVK=7+M`ayzYkVY+foN#ZBSVp`!9S0!iJoj1_6LX!C+3az z1hHHH!heZ#P?O+x!C!~*cr$_1l_GF)z4Rd#^$GJtg@nfq7dwX8FYqz8M-%u_pCLxq z2Mxi0GB)8smb4eiRkauw{A+AKA>mcFr&-E*<|Y0*+pkLadu&G?kGh!mHsi|@|3kKO zEUETn{UVQCPp<)H*(rwAr9!dTa+bktIc~uWoRt8~QnS%;u*I3-2Q6xf;;PeXGA|CT zdldw{X5g4FzPvEz2ZhoVFsa*?3gt3hMb%?;x9&L%IJKoptI%+u5nV@}p6h6MMVUA= zT_vV}tr1-*{E`1de1fsbb0t#!#)sr{0kD*NlkO?P#5oo88CFC;2wd(V`qd=Quiz~* zIL-j^XdkI(Xq<>eG`Cz6xqf7Sg{2TOmwp;DM%;4@-VlK-W$rn|yVd_LgXcLQ`lTXQ zuKzS*L=oSKYBav&xQ_+EQp_(T^>4TMOMK|*-bxM;C!~!|p(lCk$)-s-WbRvW{8gDQ z;?E~yNfqBO;5Sg|wtipn`4jt0>qosW;st&MF}Ws$;0rG3J2DbO=F<7-HvgS2^V6Lx s&%cP6Hhu4adH&B36P$>^uXS$9J8V-N^_V>W-<3}$AOHXW literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalnum.o b/libftx/libft/ft_isalnum.o new file mode 100644 index 0000000000000000000000000000000000000000..717e49b5aa5c8456a097cb0795f55b8902d2b64b GIT binary patch literal 2256 zcmbuAL2DCH5P;|HW>eePByFv>R-}iDigeS~3fhXMNUEZUR3fDyWs`22#m%N9o0Vt zaNscoNE-)swq<4^g^~Fio1ZtI?CxAbHl5o|z3f6`_{1nB9BO?c75r0{5owIc5i}1(Y7XDJ_PTlC z1=)-kbYZwwb*%Ud2^wQF^!>J5)im}BPH==nx#aD06Ny-D)|l>9}fZn<8gViqCe zmFk&twPM#Z#bViNtlEBNaw1c4Jf~i^T{q)8g_7S4lrj|@&xa!XTV-7N5n4TpcsvK9 znHEEbI}W|V-8g}a9uoR!m`SFeYuCEtS^*;f=p17(f^Q+j&tx|#+C+SWvMl_fmUQm# zpq>&&x~pL%;`2uOve92M^!P0!9WNP)zk+!DhM_x#_TCT;&A?JY(x~?a!WjJ6iyG4p z&arJ+2ffW_M+a=H2+@JMr(LGd?N#!(_6!+kplhI3;a(#i^dK52y@3Meqtd5qK|)-) zdT_i&15SBp9V90M)w;X;dynkgUpU=Y60TbgT(~YZ^GDLZ7vgp44@*ro)w<)7)6uCM z%q6?fSYEUWg_^wzrf)ZWFpJen#m0t~gLS_KX3cgj={sJjsx%pxUe&kF>v!^_b>AvJ z1k-g_D~s0B5?;LJwwbQu*%H|0#Zt|x*h(VoRugOaRsr=|h4lZ*D@>rCJLg-GhyIp< z)Zx}nAt%Ot#Nk^ zS8mF836e4ne_C2Xe+nej$CQ))JXD#Lh1OJvHrHp}FIjm02N^)$rwY$wP5Z;P8uu*< zM#R$kFm$D@=aGGv^DnAN(dO@G?4uF2e_086pJ@L&mHEu+9!D+pj9kz<*T0cp+{u^ZBy`#8o3Af2Xp?P#i!u5Xxpg700 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalpha.o b/libftx/libft/ft_isalpha.o new file mode 100644 index 0000000000000000000000000000000000000000..fbdbbb40e783bd6295087106ad2762370cc5d29d GIT binary patch literal 2216 zcmbVNUr!T35TCv4mOq8IfGCI>9v~`)D7n}54=v+a}Q>}`cHki=jd zDw;$AzK1IEL|L4G7<$f6?|j?YI@sStY&3Zg+igVQ>DGZB+v`AS|DnWBd-!B*w+W?B z$wR90qt26YhZo7i#gD9o^+wyc8jYXning%UFo2>V*czVbP@^M}(a6QlJ8d^R0aOl( zfbO&bgnB@Yjz=O9%=7@4cij5&RjAY0~VXZT~%JMS2Qmh55at@WV@yA zw58kG?lq(6m<79ga7Y`_2Kuj-%ErORL#PdF*C69AnT~F)=5#F$2|ME?a)rF%B+}`e zURpEU#PCoeZ`!7lGb}4%nW>Ds?lE5|n6?XP__xY<@>6trB(^yRY(37pn(FFbVK>ep zMvI6p4U^IMbLCcZSeZc&fGk2G=)s*a_B+~4jGBmx`HqD*DpSL82h|wk@x~I5gco>x zjJId_`5E4q;k^sIZ;U50JUqkIaF#0{I4da}^LiOh*s1#=_;pmvtX95Tm01O~N|%ZX zI7T%{1)7#>dV^}KFMqj5h{+5z-u^0bwg~q<5zOI{#QTL#&wz+KrJ0%&%@HMFU_^Zkyir&mC;thM}-zPyaDD_iAmnYJMS zBe#?(>UpDjBsDDH>M78ijXd$n3lyjRfA$PR{oh??nie1Ztpo%QPInA(!sHxD_X#1$ zIg@x?3W8H?FejN_3VTv;$%4Kb8iE-4eii}rJME{S?`1Ul=Ue(-5>5FjfT-}ppOP}s zp8yffG36W}#YdVbwBf@@l=UTV7g#Xt@;Bs>eH`cu>K5U n>g-Vg**30YlJhSCIzLgc{vKk%-jUz70N;~>L~-;+g7yCZbCkX! literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isascii.o b/libftx/libft/ft_isascii.o new file mode 100644 index 0000000000000000000000000000000000000000..67137bebd9e1bd52ec0556609c82c0807038cef5 GIT binary patch literal 2176 zcmbtU&1(};5TBRLrfJh8{j#=JB!`NKbko*~+DffRtS!YurBXx*o9(7qOg56;)KsVy z3PQ19y?ONLpCG7E@ZewK!CSorEYz9gO|x0ogE;Ws%>3r-?Yw!romsjQ5(1b6%tA|J z6yPA-lII%Y93;_magfs;EB6CAZVmdYxyD+@ae{&c>Q6VIug?@nWC@6{9SS*H_ z9^h&oE7~|R75tN~A{1hn6hUzy;>)-zp|`b`*371cVI^0!-D=7x>h^kS!>l+~*-lMN zYUA4Y*yU=&IPqcnJ!tj{Q|+ULpN=m}z+p$lbi6`m!+ zJ)@5~n#A~+)CWDdDrI8yB#795x~alB$*EZjZ#)$Tf>L7-WFN3Y*PYeA)Bx0CDRj#)2LxBSI;5eED`@-+Q$Um zd*^&9dFk&Nkla7qNyG``Ib!!YDe#;z-ot|A6zk7PCcejv^ke4t)zIL_$oI1hcqlnD zzwbpfc;}n_xG9GcNJu~WcMuIVS!0eV=eX3F4a!2B3`oxPnV&*DDE^Ifpzre%$1$h( z#Io1#OAr{~OXow^r{1?fc@AX!HBvmp-_MYXLQww>9EWKahe%ar8#~ G^?w7mCbang literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isdigit.o b/libftx/libft/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..6a91375b9426fecfd7627c8ddff3ad7091420563 GIT binary patch literal 2176 zcmbtU&1(};5TBRLrXOjO^uyX(ksK-_(oI?`YAZD&u~v$QN~DMq^07%4lZ_;smLJX*TPEh(CBcGru<03po|{@7yFLY=sNj>->KK5329(fpFc`#4 z_i@?B>hBzx3jT@9Ncos1Lr@%u@H##f-`iH#va_jvNM#$Q)rjWG8M7E|>b1I2HKTL$ zT3n0IUTkzW=bq1_wV+*sf|WMvd824pS`K1np&lz$D|$Va%at;Xrf$U+=3^DZH0mY2 zT#l8EY{6>T!VwCFX+aMDtumf`oKBAr&(=Y-B4T=|uYV7_aT+;V1bS(>5sJL>-5d_o z&;iX2Tz;6rrx4;-XqW^w5tncr3*V@Nf#VJ;VWEZx8|q+SLk(Y3#|vuUj;aKTs_&C3 z8a@>h*&*J~ZKVD1^T=yg>3*l4Z3UDbn+*kUY&@U)A#zoylfvdJ{BDZ&{$_s+Ee41KS;a_N!Yp&}w=)BjXIS zPzBAbTDrD!H#J+gGP%c~mCMaaI+M@i#VYo=mkm>wgkDM)YMF}eD1y_dVF4?XMY&la z`M=o11kUfy`J(cpzh^>9_i%@iCywWc-4jybIb%M;ij)-V&PiMR9h1_Jh1-|r!p)KI zXBqH7N)~S41>A7XH~Vo@4kQthe)R7kOxgm@qoka1X|tG+g*KUxlIycPfxK7z8|k3^ zC7$}jxty+FyhsmUIv=_|aoz>WvoGVXkl_HoKT{SeUi~|eL&bff{te*bc;@LIdmXhc z$%nY_gxfcVn_l(%CCPQDKK&Kl^;5_xYe!WSFL50s>PkxS1b6*+$hmt*ejAefKn8;1 J=#IGS{|30PwHg2b literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isprint.o b/libftx/libft/ft_isprint.o new file mode 100644 index 0000000000000000000000000000000000000000..bde8775f7dbd8f085de6a098866bfac41f90919e GIT binary patch literal 2168 zcmbtU-%C?*6hGg4cTJt!bXICc?7@f#@0=Nwh8bZdScG9%AhOLncWJwm?QUsg27+WS z*;@}0J@#INy$Ss-L67woDA+mMIeNX_9-;%^`}ux8-}B?UbI;w{_|#2JDG*aI3WrQo zfbG!XeyqM7gBW_w+}ixMxw@Cy`I10&)E zeO!&(G}mw1hWt-6QPM;vq9_hjY#N`s_WJ1|Yh*J*Fq5e|ZZ(lDq@Be?%_>*yl9Nac zngixQ|HW$kF!gK@*^qe&a_+ocSt{F(Yi1$oV_;ZLet%RvkEm@*=*RU_VH8j)Eeo-?{~dg+}J*E_Bn z+N`EwrbbNQa~;(X{M-*Z)DK_Okz*b7BV33MI5z>N1C7T~JApLr$zSgYYLbB_)mue| ziFD7%V~&Q2-p~A`M>lv+aLS`oo?+%^7^znWy~X{7zvx$3m%4f86F&Vh^LswM!aTu9 zHNACHto!c+=7N=}F3zVjnX**_)3uge&wPNHEftFv4lnyv+%lMDtB_`HJGl~=PRX^* zi90j>6*rxI1ZJU7E6%4E7VyhjJmOxk9g77kKc6e7i{m^yE`z=s{ZH~W8#AEXNMRIWy)W7dMRMIEvUkfgY7oEQ2psW61aSqSD z=J(CwVNiV$r4H4ne?@=&8PxQt{Sv}+Tn8reF9OAr`Rl(y&EGrnyUXGSB4`vx--y5d EZzg28asU7T literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_itoa.o b/libftx/libft/ft_itoa.o new file mode 100644 index 0000000000000000000000000000000000000000..c75cfcb517cd2e3489490ea6218f1825e5a940d8 GIT binary patch literal 3472 zcmbtWZ)jUp6hH61+?O=jlC~RL=jxWBLqYq}*2#3%+2NvToie7CZZKm0ye7fqr8Fc2;=+ETr?1d&&I zP?t3+e!>XiwJtCIh@ntAe6Am)E@^vs9aF-c8#jl$ zq;6aWIfAZ=hMI15xJL=^3Ox|IW7EjGhc*HD7|0wNSqH#&tP<55odEn1Ak)C@poDja zLLq<-Ng^b;4HY|44v{Jp+Kp5A1|J_j=wP3SHTK*)jG#_d1R6p~dYUAu_Z=L4@+@r( zN+00J&)Cw|kBQN)+jKvUJVu1PFvg3dkZcLPW^Ad8bl`s%hXBn~$!5&g zaUP}MmpI6d#_ywYAmE3wbk#7c(M&OAY{y`%R4@vayk0EEiiPxqIpZ+l2WUA(f{{*U z3%P;`1;Ydb%2gcGP&F!roS|oRUKs^HOCZno^4QPSx_BffpPUguE?_vb({rI zmSCdcH<7;%)zb1b5vD=9{8MUYT*?*5ha zp#QBWnKH!Ipl*(JY8V=m{LF%f(PorM=m*Ndd8P)RV{(05T#W~hD=oFxixSBpfvD=l`J_CsD z!l!e!sV%*J6MQ4LrLvr+-~dsM6Gm6W3idOik_)HqDsb_Y6Xvc?G#A2!4Tb2Y0ZHI} zjtF#f5D`wjUC=FjBJ8Qd6K!#reYdr`6=HYa1gG^O5^;1#gaqdTf0@g6&vV%y<9OC% zf1JycoYQ*J`-t;$gySOq6qjG~;36-bLn2`>^1kQ5EnMu!haOzy``m*!xcrp|e}l_W z&gn$E*K^o|i@G$9i+Z^T9dZz~te&pslBslhN}mR8N-w4~Q=c(G%altc9s8rZi*oCV zX*XA7+3F;Ba^e(>i85$L+0?a1pBU?_n5oROpcRYLrDQ6b#h#yAWnL^8ItTQ8a$+h~ z(xH?p7Rwn|f739JnM#9JdA>xP-wo(j&Zf*1sRy(HQPlt7Z=RxeYpY9wdN+? zW?B&41BAK1AyN+0fJE1|o4h@M{&4u*27G=e4=Bz*`O)6<*Mc5y_bGBpG00`XES{Hq z+$3Jd&Bfep*WlnuH;8ku?MNGpTsHH>-;v-Vum4`uwX1)U*MEsSQ2hjX>yIHuCjI!h z=?|WN&JE&R=rQ)`ixO{*?)TaeihH6Sd&9MNuB~?-t@rytWmD+vU&mL?RF6r`yt-pZdJA nuUSTR6rUCy<%VJz$)CuZpZ3?gc4Qajm!0!h+VP{1-u(XpD)E_C literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memchr.o b/libftx/libft/ft_memchr.o new file mode 100644 index 0000000000000000000000000000000000000000..f1c3326cf967ce2eef3f8fe2ba642f3c8104a233 GIT binary patch literal 2736 zcmbtVO>7%g5T4!juI)Ot69-D$Amjr-0x7#m8c=_r1c8g2wooC0-~hotYkS3d9eLML zD53=-eykuwE*wBY0tr+>B@l;Di64OwqPOJOV=o*c^$<8k;t*zb=Q*1vBZL@fci#8S zH}Ab2zj?k?JbOx26cDDsN!Ue#1=uon$1~w@26CvJEA@Ua^b2myW#jR4W zczvaK^PS>)>9^trX_4J1ohaVOEgz52_0r0@joexym0LTve(YNA%@M(CsO%NDHxG%l z<)0KJHa4&B?Cjut+sM;=+t2@^j3{?yM|CYbeA`%dM9Je0)f}821<>vUEqgMP$p9pB zsMk%@=8c(yTK0J6MCP7Dr$-;g1q>ZjrYI{py$7c5#?15qoG{8l^fNvQd;n5mjfTRp z{CWim)xwuXk(83q$&*n;d4@(x?g4xo>gqy-K8uhWp)Vu!VuZdymsD4u4bjMb5jr2D zJjb34(I_nn>KFJ*g=_1H^bbU#sbcLXv zpzHZg!?SAzly-LK0UxU1cma6ews8Y}8F9XI!JZEwC|AINpj~&o8vM8Y!Y$F~f^y+0 zP?m<3v7uz@ef+U*N1h%s`WfJn?C@Laqx%hY5fuPekxIaG_*N9(1$Ucm^D^)b?pURSym0)Xf)^G z_Zvtj;E$a_Q4RVV+7s5Ile>o_ph4^sh($HPMw9Gb#QE6#Va<^fGwj20cp^DZv=Z@A zi$#Gv#|1ym_&|*B_ZM=9V?51sjPV`psaWx^o?u?g-(Y<7AM~dreV6gm5`T$tMdDv) z9QHkq#ky}Ze^JtZ%J^N0|D5rM5`UTT6^UPF{H?@)#P~;v?=dd0r<%pM8`i|or_QJ_pI@dBs+Hod-6^ZO+?GfbT{VC)NOn%J? zS=Qmz8rnhj)Q2PyeaAHX$$4K1g1uN@_*;=5l>Z4IPV-;#ALD#U2J7*|9Se$e1+^6A zFUax@Cd9oV^y2#k_Hi(%eg!@dqE1x5G(I9<@N_@PdqRr;@BzLj5Hnd@!Pubnj}BO$ uZgqKmy63dBJ8g8Y;nO#9{slq%CzIFz06DpKq`SsVb(sJf<&%m?qJR(uPC?HSD8NFrH=pyTbC5*le75sTwzK+sw$uJC+nK+aU0b~g z$@L+mY+JiT+}Xq-yI~>4x`7&L*7fYR)g>p|h@I^wuMNd;em%P}kMq&g^w#W;7p?8& z`Yi#eizLjwqhx2h$#=KV^|rNrMMCiv?A@KqdwYAm)DcX5mZu&{pXhe1 z-3@E^mG6|aay&7@v_$IG@kCk~)&bNcoE`zt?gA}wDjtsmL=2=2>vKo6#DnpN;`fZ5 z9(i;OfH6=xL;?ED0W*3x?kIK`a|KaoZQ&Qe4{^V~RH1*$HwdXF4jTDlN)Ullawsnn zs3bqek*SxK0_)SjsvfXj4Xn>m>FT8g-%8&bSkL;_Ft@V4HA2i_Q5I3J;yfCoB}r7n z-%Kk>E9v;x#kiz<=AYf7nrf#44YA4wRLYGCmZIZQ>7h3~~BM{K7nz zNL^4LKcuT)AOqlM#3S$$j*6oEl{iF-erNm?v)yXa(ac(Hxjs3a@#lUK&7gRu;}&b} zk`2AXV$o1qUa4f4jcU-611e!8T2f)L!9SU?0arKT2`}?cq> zU*L8_!aLkvm2i4fNHzim;#{9_`+W)jjN6wb{5-d>N%#lc{#L@pdJ`O{nuY6D=D1u> zFiLizU0KW*3Qc<%49{Niz$iBAbsJv^?!;%H*HK_J?OL9D9Jky6!)LKOMbCG z6ad$9YbFsVO!R@E&+&=q6M?71glmeGbCPS9`|Df_C37D@hl~-|;o$cokZYNH67g_< z3i=HWUgZG^&ci3zmm^$L9}-3M9fx6(UoQF+7Z$O;(DZ*tzxbbcyb%uOT!KXW6QMcb zLgM{?RCJ0s!CMKirEo8hFU8}jzF`sP7g!4?{pxp-UkFhrs^0*9B3|J1KFNDR2(oA)Bpeg literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcpy.o b/libftx/libft/ft_memcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..98e41b82c274a9a61004b49eeafe2cb9dca2bfc6 GIT binary patch literal 2736 zcmbtWPly|36n`_5Z<5_~lWbCI|A^+GR>YmzO;@O`)`&)@X)8rssfQBtXOavilQlC5 z+r?^eQ5p;49u)PUmr_Jey|my#1P=xjSv>W)7ookaCkuk{y_xT8CbJO{AI!Y>`@Q$Q z@0<61?@Qh(oPI%;BoHFO2^b^60_><`JMWo!NMhuQG5F0GT--4Rz1zlMW!u=exC6=e z_G1W|x6zy<^GX3D3U}|UjKM7=aY$jy_^~jgjEINE@xpd;vCBqmcd^rY4NekE}% zems8oz{$)r2LK`rWKNyT0I=l=s3w8f=p&dQwhwK8Fu=@1pd?Pj<8gF+i%$d}4Drgg z$Fsw)50Q`+!4i^QB_t&u!*@j9T%ABoAARQgUiZLSYdb86u9lcs@mV15E)t7U6+p;aEX|`H=%c|7fHD8TKLd|qs zaJp5nq1C}Td$waWY_pcNY~-zVv*dzXt}Fp2?UI!P3;x?O=`#WL`U<4=mqA)fNr(1C zV;|uT-H$vyB(x9kY$El({M?)>4=@7YXQU$V8onh-`ZF;{iZ&J>N$)vb`Xas6>bDn` za-QwgPWNl3TXwb8tC=wVVyqR4?e^fR;NAi!+zNW8i2{MkArPPdb;zX9g3^Kf-X0()GR&eKoJI5#@qVA7 zfs*zW2!4U%eF2_vo7BMoPkEl?_yMkIUBRz@{2%yZoEP&pIQCi(ZNb0Ed9Td_e4q0* zu0{Mh$K4SBF~^reyw~H%iTa5=S9zS!f){b$gz~(_@y!tbImcP9sW!p-)Hxrn+xX;z zRx>NTMyXt>bj?0!uDRxdR_(OgCiXgaI&K%VuGuPcY}xe=Xm-anwHIGnS#aEP^$pOd z-%90L4ezJMM0m@xO-`82QoUPlo8tvw>uH!DFA>xi+NA%#P#uHkQ)E2L4=~-jK?ye? z{_1#_fH?0WHqQ;QPl8VggKO%ja87dl!u{g>aJVb>C_1K%&vWuSF_7zU>=ERtf5LK^ zlb`Yd2@D_#uT)Ry4*|)e_)y3qfq?wQ$6X6>WQzHPevotF@mKlb)c$4s^MRbf&|iax zJKzxW3Tn+CzZwp|#R;l!P{j8O&Ou{Z{j&T(h&oaI=vP{d7d+iJ;WZ%zDSjxo2m~Y? zTS4En`HxPSpUzr%{#TGwPLDdMF5z=e#Q7Hlt)C=3|0l?WYe#Y0eEnY$K%sH8r11QI E1DnDhMF0Q* literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memmove.o b/libftx/libft/ft_memmove.o new file mode 100644 index 0000000000000000000000000000000000000000..71f160bf41a98b4e21f1fe1e981626c8b157b223 GIT binary patch literal 2952 zcmbtWPiP}$6n`_5Z<01`k|t&C?uztKT@W*AYlU@J*DMlEyQ_#$se;t}nIwbBq+}+w zySVE@P+AMJ^`c%BQE<_NcySj+Dd=G@!d`@W>qTh6!-@wBD)GH1BaeO0oKEZc9xr2NFZ}DzwvXv^Gi0rap`t`qrI2kSlrEb zF5QOs>k~*ra}Ui?GB%XIIR-cP;cU_ZQHS`wppIEY{adL z=CTVGxP{^j;J7WaX5qgrlr{?Eyu~BF_$(-E3FY`mIC2%Q=x)U6BcY3cv$4b*>f@uj zdIK2%zabQY7qC?n<&W4XDY{wwluX-c(T+0p`f4LRGs|s$cp2}|GL~Jcx63B@c8rIG z;<)9qSutu}E)J=Lk!W#+MTaA2SxR4G$0`ils9t57zQBg`Efz+d)X#CPqmH7Ff1^lA zp`KV^+5&cd$OzStFrpg-F}=oOUvo}ufrTDnLknz#7!T`OafuD<+SC$LF-FnPsl&KO zZ#4tjw-F1$uiXJ%ph0gRechT!i9Qe=4SYq%*QvpsX+tYY_&Cz6qLK8?%kL1eq99N* zV%o!>SS3ivCK<-Bmw{-@8433i7!8!9r#PSRwD75nkr1D8%WIAaTaI%|`1c4+`|zLA z1OI@_I5`fl0m$V!jauT4i0Adghp!2|EVSfPaVBYbsyEI%!oL#0spycr<*6S3BjJA> zz^@AbvjBcs_}2qCl_io%-g;-_KOeeZlHj@NBBe?z7r-c+#ddYMP%O60RWMp+yGuph&V{uK^@RrM|0`7B{qI$d_mgImfFWmh~#}&1km~k3a+2>o+#7!`6VqL>oq@!wwzz;DS-v!e-!b?zr@e`#`IIQ zL62epciqEQ#B{wOA|js7$1igK66>Hb==`pU2PN;B&W~!1jF}+vnN?G|L;A- zGlE>ISA*u?9xy-E^5Fc>Bc`42Hc?%{uO~YqUd~7BCy~DA0epf+@a(AXq*&B8IVcoI ILk8#n8$v2cMgRZ+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memset.o b/libftx/libft/ft_memset.o new file mode 100644 index 0000000000000000000000000000000000000000..27378089dae882bc51b1b06fb7c3923ba8c3ccbd GIT binary patch literal 2608 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putstr_fd.o b/libftx/libft/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..f795861d6dd0ecf4c0a8d608bcac04de9adf9a6e GIT binary patch literal 2448 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 Q#|+*k1BK$~j_CFO1@VE^SpWb4 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strdup.o b/libftx/libft/ft_strdup.o new file mode 100644 index 0000000000000000000000000000000000000000..82b9840c80d08a304ff1deead983007a35db2c5a GIT binary patch literal 2824 zcmb_dPiP!v6n`_b-(-_bcJrsy)T%80>&46_F@n~%MkG4fRuLtlhZ6VC?C#*~Y}}a% zv6>pXt(x}IfM7upd+Jf}QctCz7{!BEkMSU+pb&2Xh4|jg`?8bi_8|CRzW3hm{rTSa z=Y8|x+?f|uMFB|)oPw?USr|so1#|s(v-3yZTwmQWudMEDlg(V;G&`Hh zElR||+_u?S-GV#k?|y8D8F6JCTOm#bYt#@}V>ux5@ZPC~ldZ z+lsk9w{>T8Z*Nc9en_P$$u=5xk?)$F@AGHBQ%01>vSUKa4&Qe)JEDy00BR1CYX(|I z_1SSPdpz@O=Gc+>vFDBeqy(r8&5r?ynFFex148>A1uc6jlgZ$|JRTzbhml2@F!!hU zrSL;@xR-;WoE)wrplT8&O?iVfCD+0+rEV-m+WW|ay3q)=5wfB7cBqYBBBuK|gy*9x z`Wnh<0{XAwK%^R>tuGA=<-qlWe8nlb_58Bc_Ux9MpPDu%jme28gU~p2ej2qI<0+{5 zi=N-E21`Z-3U19SG+Ir|D^x0tQm}0Kg_-F>({^pIVL490vCB1oC1Tx3K;Jfa&Ff$Q0I*Q(}i*9Xr&XDwo_|EaEMQHLT1%DLA-Ss7N24)&$5;$}a9IDJI4rSN=q z_#^d&Azl3fJpg`2Ch&HKUyA>y> zTF_l0ZVr;?SF2XdXhf~kuM$S22#Cp~LBZIGU9;%=EGFks4oKvn7 z)sX(=xX&cOT-GW%^*71M_=|k`>HUh6jFbFzG)g({_f5QcVuqye$5H%J(*0WoXn*1) z*DtXPDD>LDalTOUoN524*JZrK>AgwTgb?iT{J)SAqogmrGri`Y>@h#R$;tWYH>#c4 mYav_1Z=Xz#m-|BX6D8;W8Zqe;I`D9toAOuIDUMPm=l>U4zcY#e literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_striteri.o b/libftx/libft/ft_striteri.o new file mode 100644 index 0000000000000000000000000000000000000000..8ecd9453604f82706b9dcbf95c0e9b501d73371a GIT binary patch literal 2600 zcmb`J-HRJl6u{4&$(?+)$?n$H)=J5Pr4`(n-E{?NrCrh0aj8BOR+LiGd`yy|$)sjx z*6m{JLaG=Rv6VhZ1r?Cz^I|!-(&V*b@=d?(P(7% ze=1%6k|r!XzcqmJAWRPk^)!B^N)*f1(Olmn5iejEgvE-88JZSq(# zrQO+#t*fZeyB2%zqvG0~R^-ioM#`YBbYwB(1Js%9C-}`$V$9R2+&ywoG&71!XJEY= zdO=vKwJTn;wBhu8x9gP_m&^roVgC6r>Ri0Jgx<3G0yKiMAN1V7>A7YNEU)2Pt!~Hh zty-;B2{)X;T3)g`uIKtKr`@*NZnY6?#wwW$K45$g8W4KE+w`1z$@Kzoq20wrOfcWw za>@bxw`I}}pP&y4+qwvBbA}y1kj~u3-{5Iv)JW*0;pM{2$J#3g4ebg>0PG@4!6p1M z#{McCBt<_RHfDu>k9K3V+Z&zv#ihuOPR@!?%yPY2JFMfllP87weo(JF4YL&&M^-}= ziC$zpllzk!#yea$nmqL`&-QuVSmW9nf^RrSGt=NX^wxOFu(#5G zg?}W$xv)t+mEbhaS>c}$nhq*xM~pAlTn>k9u>g@?kwsBo%0k}J^{#_Qh^{(B0i zN+ub^Y8-!4_;(flweY`G_@}}z2~B%V?l*cWkg4YYX5FcV&2pt$?KvA@2F_*xX06-l zI9QUR6N?_qp3|-f-}M?@FuiWzn6JOJKJN#W+STNh2a_tKT&dUbJ!wv)wq4H=z-g5m zy-LSPX5zDA;%q^siu!to^#3ED<1op4Cr8~Am*`swgjS1-{#+1~_gIFn2t(d;$!DY? zH07#eQrCB)|GLmpsj((@sElGy2>5U7e->kt^+mZPrv+?@aSF%?;ZqpNQK6}hC}ctS zQtgSn?Qb^~++C5MWMr$cTQR$)hJPWzi^>3U{}NNZ zPdmTc;{M2UqVvmQllhX=QWqx{<)%ock3jM;Ui)tI& gSmgbefYwi<&VLV?dUh1IEsAQF92Cl<8d2x}8x~;)YybcN literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strjoin.o b/libftx/libft/ft_strjoin.o new file mode 100644 index 0000000000000000000000000000000000000000..ec8e4ff7be4960439432d56ef1773e32f8fb4797 GIT binary patch literal 3432 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 F{|EkzPu&0j literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcpy.o b/libftx/libft/ft_strlcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..f3e39eb4e1219ccd30a49106fdeeadb96379d272 GIT binary patch literal 2808 zcmbtUO>7%g5T4!jTf1>;J3oYk^5X-g2b8rFf&^_zgOKUQv>Z@_Dx@m-XKk-ouY-3T z(u(jSQ%G8bQlJto0?Glw4Q|{}5Qri!9Jp|6E|pS=L%0Qj6lQkcOE$0R0Ws3<%=gW_ zH}7ZWy1C>+L0|2p!U62jI^guWOKz|Ul z)MPT51c;}R2S_{=DEJ%`$0$1_f}^C>-7a4sr3#vW@;o6W{VM)7_0mF!-V4!Oh^~gH z5h99=sh3_1P#+;+@6aDbHG&(9C*mI<3T$18e};B~2$(5%T)&g8I3>59owwSa-Ey;I z<3`@dk3P}~oMW$zBbqQCg_=L>`E92%ch;yt&aHX5MyqLgxk{x`>daeyZel#wv|Zb4 zSdNo(>~hUt2vuY#I4w-oaXq{4TGg!W`rz5;tXUtbo)0)v8@zTU;K2Tm3xq-16N+-~ zIZzfd%7NZ^Vg*nCUgYQ_p+klzQ<=Bbr}pdWHH-lG6{#4!fPY0%{!Z;DMVE%3lIwVF z+C|QB=9{Bqq#7A`?@Tt z7g@TjXN9TS;8E7A|H3jD(OYENQ5G+Qy)Z;F<#;bW3i9mz6Oa)kj+bf<{)gPHZ zxC`Wp_+^4oyMG^ZNPR?E{=sG^5zkN$avF~zB{C8p_Fm}h4;2W0l;fcY&$vzMo(NC# z9On3bu4y0Jw~6+{cipnTK{cT*=DEW8m!2Qw8T8& zqh(+!zf=apJKH4ve}x{>X#I)#rg?#WEeNjZyrS{|0^&qH3*QtsM1Kfg?h&ffXq}6= zk2pEZi8N}uKYZ!}5j^#aye0~`8AJiJxE4x|okWMsQS2#B%IlY7sXz8w|2Ld$@By@b zhM&BC133!G;}?~`__%9P5^a%R=!2Y-$6w*aPV+}aj1&44I)xpLyB=+ph(nI0enf6g z4*!`Gk446kDfTbuE*g8C-!LyIanE#q^md5xf`0`$c}+-d7xixe*!jt^ZFKFGKfgzQ wsx>)(6*=w17M0l>_-%{H$BTTleiDI01n?yq^4XE^cixn%1W;%kO)2O97t=R1)Bpeg literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlen.o b/libftx/libft/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..3c922402e973bb48ea2a4da80f57d2799797f43b GIT binary patch literal 2464 zcmbtV&u<$=6n?Yo-PmzsI|-DQBIHAXg2--?2B{QOj3BTng#&6)i-fGTJ+@b@*TuVz zLZy^K2vR6Q4F?25qF4Tf-jFy{{0Cf+xFET=aErvjytg}3Pe$f|c+&3o-uHgY%=4S| zC+nBqFcSgWgp);WB+<)#R!(M-%YJ~@_`-F z8^v&D2xjv6Erh~0=|tGr(Z(=JhSg^1N1f^>AH+dFs;;a$%g*xB*xP92-c-@&FnfgC*~)H-;zRQbYq zZO%3>V+6ntNaa!wW9;wJ93aqdfe&+s@ql*khT&#!X=OFl(>}Rbf7~EyhQk(z$?32! zC~?wi@wU^=M!R4TM`D(lm7m?UZ2PKZ+8wL#>yA~lFIvV$t6<-?jCQCC-yBTalZ z>ZqVBWB`(1683S0S3UvoxWZGN7lr+#KgWH3r~Q-2bvu~}o8!tQDON5a0T@m~qMDvq~qT`DyvjiQ%O4sUq_vzK%|*t8rJ=;Z_`aEd4zpcU=#c`R9~eQswz2O@D&Z`d1P2 zBl|@CD=7Jrr|*HjC#2wx*w9@v6wzZF=$p3wnJMej*H!Lcu74Rh^U}DFa0{P@BIjQc cw0{zP{cn-edq;80Vt#%i1BLSFj_B+E16}6sAOHXW literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strmapi.o b/libftx/libft/ft_strmapi.o new file mode 100644 index 0000000000000000000000000000000000000000..c36b41bd33cfdc94652cb0e44dab0d422d3a4104 GIT binary patch literal 3000 zcmbtVO>7%g5T4!jTRV1QJ4q@10c7zP4rHCA0ii^Y<~mwY;sj8e4jEc^eXM z4t`G>Hq%aAnH=ogSi6dmO^U4Ti=f%oo8L)#E7QJtxzp*0*tJlEX4u5Q z4(c7f`QzA`AEZI)f%q^};>kM?#|Nb$6+lj4Ek(n~kUDihi64zU9veA0J$&LIK!}0N zq3K}&Ho3=D6F_MAeo*4aW3d=OM%5bN$$URNl;3>k2+0e30&*LcePV zho2CT6@ii`y+odrSjI6VUzqp2mgki{??Y5fzHrv{28oH@Y1bS2f|R<7gL}@Zq`rrC zgaGv;9Qw$LUZR04j};EZz99!i*4(^s1ZMIL%W0$vX3m;REf{sXQnOOy6WW+IHhQGt z2FKr=KyOle1WL}V?bNHe`HEJ6v{kaxPRe_JT*^WGDrr58b3OiG9Q z!;$y#i0(q19uhhTcru=RM}BHRm9HTKU=yJbyn>@7Nq@%&NYTmSBc&U5o!%yGnhVv@ z@d?*dOjS=aMV(`ZuCt_? zWp}T#d$TN(We7*rlihIWI_qn)7&7E6>sK$bIGTecHjG}DDXT1;Wzj4PsmGZ7^%+dd zvOYv`1{qCBJt;@=g}lJz<5nz#b4C#ry1nFygni$q8g7Z(#zw zjM$K`u6t&PeQ+E8D4&Cx5-$Y!2d@#5V?G>@xr-BrB#KYBL(vv1B;0FoG*E^-sWdQ$#``-re^W0ByO?%+qhdGW1_a~x)Ry6XBx!GJkUpE#& zs~cucbBsj?v_h>~HSj9o47{p%*vqI`r5f){)389ZYL1~j^W4m+?c@rt`g#^L>hRfI zv542<+@3kiie+%XD9@JaxvBxxoN3kyzI^O?4U0RuJnGl0r2nsciWB(1PcfhD-s1pY z34rThlhb`jnE2iWeTo~RuLK_KMf$P&`#|tg{9_;E0P*M?smDkTc*?CEToZ+296ZN) zLIt@;Fc8Fud!B<=MIzThu7-H8^*_(ozrqt}{R9Qqe;;B*5$}nnD=+Ym_L2a&7WIXu zd!SeTUp$}I=NFMD^fU&A?dOg3`Y3vE*F0>Vm+MaP5YKeJmFtY1V-In}A5TES;mc>jofq4kpl X>wk`z;J5@n=zLLa?o%EuDOmqsnH5*f literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strncmp.o b/libftx/libft/ft_strncmp.o new file mode 100644 index 0000000000000000000000000000000000000000..5af8cfb80bb897b420c7bced671749b734472800 GIT binary patch literal 2840 zcmbtWU1%It6h1SvceDBFZhqRBHda@$+EOx;T~n~t)`+Z5hNg(H5{eS{XZEM=&c@x@ zkQVCSHj-_SredMcmpq6TMW3Yj0}}9|`sh;wzU+(8^g*H^C#jZNn3E8}$fVx;1_9(pKnb7d z?d=6nRP+x9Cr6aeU00Ws*Q$ql3Vh0RHfY`1_9Tgfz<)-5bKfw{e z0T6O_f%C9y}-QW=bh5ADuU=wPMAJ#^UO@IzIMz-Eqd=h$EU% zk3i0zt=Uy8Q=U^Zpjo+^R;ZNCnwH5FQuTS$)+XXwxo8z@1+!GrO2u@}UT_uEty(c} znb|0YRy~EFXxUJUfkW5gU_q&ZD`|&2?&3Lf)`lYdx7F@;-xZ{DFM_ntFOBwfg;sD& z?nj;mNsAuOg!|u>pWPLdf5HfWUyusGX?#kO^jCNnDcVUKl2)%(>5a5fX}&xbi#xW{ zJk4#IR|tC`ho`Q zHrSxS_BhXo!A5L0nqv>-2gH`sx9*ufk-Y_Nj{Q@>`h9Gfs$3~fU>v%+L$_$fRA zKQQ?#w(m6CkL7v{7B|=tgFS4psKI2FNx|bX!`Gu_{IfVm5q{n76rs3h?H-o`?NhzO zrvTo*4x#{FMV}l(Jm{(4;(k$~2eEe+anXo(FQA(+$nyk0#__O+r|*l9ecTZ7$2fj~ zYid_}_s~Afc@gj2Qsm;C_s38A;^#R&<>MDQe%Z&r$MG2-zryi?kN=e83qJmBj<5Lm zC5~5p{D&NW?Bn0(ILbBk#@nAf=ly*EHEX8p`Po!DT{Y)Hwao<^)J&yZHu0Olo%p@+ z+$2z|W+}y8MJrbU)vDO0`uwTnSj|plUIUdb=4>jP#V=WYM|i1dnVc{Sv$<-jYL`Lv`Ik8Pxi`2&>;!V&dnm#;IeC@W3G+Do^g1%aHQhG~8RuB2VFVJku3w-^*wHep&$7Yc3H2-Rc`RVKJpFfG5a&nuF*;_c;BF?`cX#FJq X`L819?;XYId{Ng4pimwy$v^+!<1|Pw literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strnstr.o b/libftx/libft/ft_strnstr.o new file mode 100644 index 0000000000000000000000000000000000000000..80ab0e169808707220fe37be88390bd2d49944f3 GIT binary patch literal 3072 zcmbtWU1%It6h5=FceBa1JDZ=TZ7O!Ftpz2sNldj(LS2#3?a)a5i3CC8{>*MhXJ^aq zY#K|Wfi*U1UXp@>C>lhupx}exgAXO3Q1PLSZ+WZ_LIOV2w}3)CXXf5yGHxHl1GD#j z-}%lxch25(ci+{{KO2%H5GKJ{*hPZHF}gcXyVEozP&t-a_&wA3Bb`~8xtCd}Z)6t6 z?q(LXjoH(nymt(R1Tw?gJ!LNGqM3~i3PJhXyCB(yy4 zqIQlhxTu2=gg(ZP7D^cXnlM^Ob#u2wVJug-oq95FW$jXO%Ba@Nik<8qQ2W%r-pA{% zv;Um|M1$%nC^{20r)uM)<{@PlYpKaf*{G%R`N?d3%5YMH1F5oUo3%;9vQn0rD>~EO z0H~y(CDNUj%77 zAsyM*5?#XDK7c$uWK?T-I-Ynx^vwQG&ucAYeq`%_(X&@OsQmS67(yOE_ zYpUGaKj6;Ys-?VYrA#|-)e8pr-V&>XR&xpkqo_`LJ>ME4j!af07Hx~BSxZD`$_VQ$ zvL2ls)0tXi$949^I77ZGQerZW;m9&;ZLk;+xMRrnWkLhypQzpwjBdiqz5~yy~S#+FrW1=2JOvg;}_bmK6 zE_>+*IX2FuMyL&I;qAJ~=XK=5@aJ|D7oPE*_ub=`d86zh5y;RIq+BdFX(k;#i6-iY zk?Zi~b-!!m2Dz3R4sQbZ8}AG) ziO>&m{2(8xvi>Ud1@vy)BlqNe^jbh)=J=%mKh1GAz+d6G65tyg&jk1tju!*`=Nx|- z;OR$$>>F>`soPbKlYFEa`0G&Oe6T(dPzy$`UYf|}a#dpr)T&`+RmYfiK+RXmWdpB| z-K$E7@z&x>FW9t;6)vM2NVO}Dp+5KgSZ~eA=HCL98hs*LDBzV?+7oD*w!sNwa-vwx zmJMGz?0FSaIoTYJZT_b2|w2%d5W_e3F=IVsK^ab!X5*(Mz6Ho5RS0zM1IpFv-<{jc!- z&+-7;KT*N`tH_Z=^d(MR`-C6XF9g9ykzb6||IOml{7a?v{U+kX_%b@h+^@5n9f~H} zd5^p3?=4#AB9A{!z-Qw91=YYwv-&0Z`4itW)sOBt5ij^l$Ti#l4W9pKz!`v0y-)tr zP4d%Uu3-KGa`O3YI%c!@?AQe!FY?j;$prQgz*jg4){cBX^P;R0K%+S7v0(mx04Gp% AfdBvi literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strrchr.o b/libftx/libft/ft_strrchr.o new file mode 100644 index 0000000000000000000000000000000000000000..4b6be039a0c8b533c5aeebbb0454d07e5bfcae3d GIT binary patch literal 2736 zcmbtU-D@0G6hAYwcXpdib~lNptrc1D3o4mOVnka@jL7PAZA8?FD6;Oy?C#*~Y?+yj zFjfk_18|Sc0J^P=IgMp}icK%aB9ns?q!1=;wS)PAajUV>f$~(`9P4Hnn4xjVc{=uBxnVY3Jz#Iu;ZV1 z5ReH}CFMA(Far$=NH60Dr0hI?nY?v2^fp4z4!sXhsq)qvfj8MFrJTo4l4c8LW{K3N z1f$4WfFx6}TIo1`CttP8P9wi&x}Mc`^79MYoHjT6a3=`Pzqf$iqV@>X{gUUqZnf!Z zRnVQfr#IUz)6=WfX1TLw`ugI6-m)CaYnryL+g7FSuZIed;YRYogDO~#4;I*MtlV)t ztKpcnJYk--VU~ROZ)*!T26u2RZM*=|dQLhvo=k1xx!;XA4H7z1cruf_BtJEw%4^5~ z_zs~2yoz5*lK#p}kfPs(L()5*OWV+Gd#yD)zYy5LiRs}<>6TNqJ2ev`JH!)0@%&oN ztZU7%Hx31-PPmelSZ?eOrm96Y{R&GI*_iq)n^1paa*-v~20Mg-WRcAjS@skgKgE(7 zyA$EV2qRfmKYEQxU3m6*2oV(tzuhZnPjQ04XSqKU!5Ozn-4(%U zo|D|ahif|C+kXx1hd3_gZ*u=puH*bdjNjt^i!pqi`{fu;O-|Ad6^ObQxPLK*zsvp2 z82$%o+G( zMEZg=!(_{;w|UGq9nhS%Z)(pxw>s<(M2Wo29y2Zkdr9 z*n1jQ^~)91Z?{PQU-=3rh~7UjpTsZdHv-_A&MPW(zX=ofS;UsPA^Jez@!rW|AbQUQ z?|BX$;Q;aI|KXDsh`_0Kd`(37F<=ev7k3YEmoP9Y|2PM~6p38NxhD`Gwf-gtn>>Nm zPyHER|GkJ2We!JFuJgRhQ4noWUuf#{QTbJV+38)1ipUfCB@7BX%G-)IOC%8Iei-JT zjnhBpz+;hIGR6J{+(l#5`Q6};nfT9ie)L9&e1X4(SbR+g!3|#j2XZ13=eighRsZIQ x`t&x(>(>xd&J5b9F5nmnZwOJ3)=wh*&;$4yjriG7Y?C+TRdP@$kEV>*{|6CN8)*Ol literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strtrim.o b/libftx/libft/ft_strtrim.o new file mode 100644 index 0000000000000000000000000000000000000000..b08e9b278f581cc6c525f4b77e0161f772609731 GIT binary patch literal 3736 zcmbVOYiJx*6h1Svcb~~_ve7nuFFrxd>?XF*)=*P*?RITdD$!7^={{zY#eKwm#8|Di zO(TsfXo|nYAL0W9f9MaX6(v4e8U-KyAs7)Pph6-F>8~!d5YM@D?`AUHAbP^ix!-qQ zbI;72n-`+{?pGBBq$scpmXTxu2E5DbKECXOcJ%CzP5u!Z|0@!kJh~X0tj@>Ak1j&s zqz_$iIS+w}R$9(P>lC!`BY|3U@z{2B;uZlWI?3`mIg!lMB{mtYFT6#IndlrR&^cDy zKlhTu9jjI61Jm{SH;^B%W3qPgt3~Hx<6kHkIJfY_($Z3_c68B9H9k-5EY-#gvz818 zZ5d`U!xH&6GEmyd3$a@NZ0z=aEbx^gZ|@?SF4AqHuE)mDM-H9K=z%RK>1H9Y@3yUTa$y1gBDuLE!}PzANO1AuK^ z0iD+d0k{G{uI`&a^Y8Nc@QHeE;f!|;DlOiTr`@aE%$CC5saH z*+gcw096Cm1-!UvunXUl`x0%QvnD0f5IKvhYUDv&GUom30u>`=i-hqyU=#26%V zaRe_VNbwXD@!xJA;5u{rpd2{>%2=DSp~dBX6(8S5vEu?bQ zv;meTVSiD|m2}$3=)>j=^Qgp;XzLZ`@m^-_&H>h$VR+S?L(KgRb2;P8*UQ>6ED&eT zUgkqubNF2_5^a~zj zYtU~~hTRZnx5b$oYYZ?i2B=6Ys6k7+PcX0dC(gK>r&%jnTH?&p%Un8h;O%%nW$KwH zm{L_4cFEk&s@D(D;($v_c85ohQ1LG$67XjtoHXQ{i6%a5yG;XTr#RNk&*&PP1~lnc z%65cpD=Cg1Uxm*gAGF*jf9H_9aTWiEkSC$-n&XK>;L}5J^hICA!AkPBY39Bj3xCOz zUg8-WUl#a#8-HBj-)#Il0{>~_PYWCpn!Xro|NCsb+}Duc<$eVOx9ahMo;H%zp}|Bl zSu#dJFB!RnUNOchpr?xYyn%C`&W~!6M!4{$rFp2Nt0N-B%#tl+ipz(D>60@GmJtbh zp;$5WJrDMG;lYu55_B4{gNbw+53!*Y$#U6(AqZo5FjGq84ND@NwK^SZi6rW0@?4jS z=|m+#bhq9uclrPIXBcYjugvrueVi!2n5uE5{#u33E#j=-AlduqfpMrBH>{{P#nDrZhlD&C4LhZ%}PbY`z!lG{iAb5#>@BTHRNP3 zaM_SCk#vX6XoK(yMl`E`Sk#wws6L&}_WH+>)AlVDQ60lyL&ikB%uVqm_WI|Mv-ght Q&Wgh_BmziLZF~KH0B0uE=Kufz literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_substr.o b/libftx/libft/ft_substr.o new file mode 100644 index 0000000000000000000000000000000000000000..982ffda32765bf5653852657c5f0d0d4ac27fce3 GIT binary patch literal 3312 zcmbtWU1%It6h1SvGdoF|-Az*aD-!S@$!wa&TH9J9vO3u`B1)tbWZj?1?&9oh+?fqY zA#E{Q-7fyr7k%lA3MyD%6cHcPP_?c25W$Ci%!8tZAQ4{z3h|sf_a@uxN)Zp4Irsa{ z&%JZ*y=QYeb?gyUQ9y_SM_~&I7GTZX8jrEz7$neh%5MB@FRl*TjfJ&FebsJEt=NkT zYY>027rpGusdaL`_633F!rHHd>_)29OszJS>}INE-+hHJ2DKpm3eAE+E#^kn!>N_{ zS;jU~E6lOEfXkump1IiB<5I$_^Y>s zPHWA{Ra={Eo!f4Tke9cc*RF1CY%ttNt)pJI7r!2U`jXP8+#VaywOC^3-dLZ~Zvd!q z%%kmq@c}J%sONAGK;$;iVn=&=aHv}t(Ql0H3T=1p9v^scH-Mpo%Bk@IfavIT(2Qd; zfUY~3f*&z|1RnsC?anqfmS2A$p=t*>tynA~YU;v|?8;Mw)c6H_8|wL)5Pc9LH$)$Y z=$R1RgDR??Kh99!=OKEWp?=B&=G*vUa~X>H5steyiD*RohFnl0uC^SGKwDzox(QRc zx);<3^KRBF4$e9?zg+bO_l;P?*6`5&Iy3G&HG*i=x)-K{j9<_BLCwlT(wp{^rE10T zllgopTc34;p`?EEJr{_&i?dnV<&$?PGW;wsWnVd;*lYgtB*A)O;Pc_-5qkA)#%9 zhhmAd>chQ;`Wt!x6woIEpP)fels{v=r08Veqa^EojXpf-y0ev`eIsnlN}LQ!n=E^I zw_b37d2*1PJ9r>-V06eWd-b`YqE}Dm%7K3a7k}OdtXZMpOj{+IynT;wIl=sl6Gm84aRlUnd>(S$Sw=tndk?k=qGOLN!*rGmwR{ZNm zWTH->*G;JRq;(SwVVFp!Ud70?zAdfyqFciFNmtW)93%UX-FZZhr*-X!9z}CnSB=AZ z_X$*KT`?xqZY-);q^#dUA_Bi}$UI?15wei$;1y4RC-T2TB3K1(Lo?U8g=;vDSLmcmD<2U;f za(mi%%5y)*)SyXdBigGf)-UqUGcSPqxE6eo5d5%f`XE;6~@vm`Ql6a~w$!w@t zeQ5pfa{PkCzt8a-5`Tr`cO?EC$8^(4#CN?JLimzv!GFc^cM|_8$3IB?MUDr#rW&`` z`4Z>lx)~-|1t(W8X0o|l&6x$O=D1laaOMKA^3_Vk!9Ka!41_QCZtfVymc8jJ^9pLz zWi787IM$<&O$}ii&OZwlHLy&!P{7}X;&p-8q#RB-rOb3KTXCS0b=_)yYf}7`uyDd4 zn?pTcA^rb__O<=|i;RcpvY?243Q>4&#h5hpd#a_lPsEXou{ZDad`wEd>-3KXoiAC| z`DGIKg8XP7`LbXa51_f}k!3$81IZx!K7e+aqmcJF$^LU|%OU$7L|doz-^B~E!UJgi z^hxsisgID0_)Z)$In594_k!SB%r7+cnNIN&d{eC(#6QX7B{!JwbSOIbz7%pZe7T!x z&hU7uPrHck7u@qW=u|(GJBod#`cY31@q(v5C2E1gP5F$^Uy_Uxgy%4#)BJ-S=BM8V tdHy_d+Odr)sx$a(%0ccZ>O$)$k>~#qIpM<`_-l}#{}#s-M@LGY|8EXEoK64$ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_tolower.o b/libftx/libft/ft_tolower.o new file mode 100644 index 0000000000000000000000000000000000000000..a1107d94c4aceeb3e907afb9857f96af97fe852b GIT binary patch literal 2184 zcmbtUOHUI~6h3#RgFvAz;Dd*eE)XS#DIg{a36_|OB>urQ%XJ*U05T!tEB{E~amJ>PlVIdf*7#ip(+jDY}y zF*wi!3$WumI7iFJC^_AjAthgTA8{A%7DUQF0?FU~4(C5Ql+(u)?;G1pa zHe!1(Z|<*tW5M^kncc6YQmJp}{zulr&IZ~vH4r-06=-3tbpVQvWNTftT@8%*NB!qI zCflxd0H_)$oSJL{@b!Qi81wu6SmO?^%KhrgcW*-dD56Lyf+mGg9I)Ut?yB^&T!C^x)1I+YdC8pdR94(yj1;%4n!IPz^Gz zv9X|a*O^-Hrq*w&&KIp$Z85b@Q)@CcMOPF|RtY=0uOa1wpQWP~d>03=>5y4POD(8? zQ&R&f&~O|^AF8cV{wOz#42`JERm3O}FMR@-qXNPAbN!^mYy3>2Q{pMl2-nYWNsX%Z z7S9*{z+d6KsGH{cgoj_``fU%N=X#h+swvkUOA?$`4M^f1Uj3-$7`v2%tHp zoC91JqMH|576g}~zK|!7uNA+=9rVA%Q-4G*+4XZRvW73+4_zP1-vZ^?;qjMAkszL5 zP%a*7_3sz&pXd|yuK|~c7d(B(HLuDqG>di_Uf&cNYt;{NQq-aP^jGxOpFvKYDmf@t gaaAGaUl0^e@Ydf#&f7cko8{y?QVcMDWTXtzJnO-`CLBy?QfJ!t+GVLR#!24$z4^`8+u7ND7Q1;}Vhn^Z zn1F^RSb!Z*;~cFXqu@u+_>J}N>nr7rSb06R7ujB0DeEs{`~Fud`g~Z%Z9G=?zu87^ zBewVQ*8b`@=6}DN-u+ssRM^ggkF1lOR=X8h4V>s#J6V?(K+=%x@4a%7*1!=8Y0HKr{99#!qjY%`wmc1NF~IuU zkF;!JGfpB$izG_hRWj}iAEaCskCMIyccaiTbf9Y=p!O=a~e&mT0b0plO{2);90de3+ zvF@B?TBQvoR)hNP_NBRSbL9MqN8IBm!0kJV2IqVWzZTwR{;4$Qz#cy#3?Jx1vACb%H`neg|#Fy@et_#j@f%5F|_)DZXL_EKs zY&0c;UX@>H7VS=P`zF!YtbTx#q7K!kzoNT-969-BC5Nzz gt1e>x1wrv7?)qEExqC-`vz&ZK3JS&1H{!1U8~%944FCWD literal 0 HcmV?d00001 diff --git a/libftx/libft/libft.a b/libftx/libft/libft.a new file mode 100644 index 0000000000000000000000000000000000000000..6734924565cdf62ad58a6ad66b333b741dbeb3c0 GIT binary patch literal 96860 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 =j08rp)1dVRZxdVTis9JT(kOkq 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

1^Xlr<;Zi#~q{D57ChB_Fc0LHAi0{{&M&G zy-xTG>FdhHcG~A&@8w6anvd_3Qvi>1@J8j(-^5vS+RAWBwzjN!8mfOEeW%`~H#AZ3VrWEGW zcAzqTTi{se)?4LUFPUl-0{Qs<{4t;T@$*EHyZHn2R%=DSK5rq+cUUAQi~06S{wIt1 zu9J+uKgzjvX#UkMg!v8$!(=hve`*2+(pU0EIKVnVf2VioHYuan`u>zW07u;W9~GjD zx!4z|ywcZz7MImVY3x0kkk~%2QOS5b^d5;xzY@%MOysrCDTMhBAT8x_v!QFxM})|H za}4mG-}Vm!Ys%K&P2&3~kL%!r^jq-9Ul;RX;dCc<*>$#_XydT4CA0kkSlD>?G_I|D zVT=Ow1pVJn8_)O_P|WoM_q~!~t;e6{@T7Qf(F>PtJ^=yC%LWYI+RO(Q8s6Mh1qYP} zUk!=wFZhWP$7hj!^NEpzjYvS_HabPCSS*M-D_quHjdbkGE~Xy*Hn^hqOpgN13Cp^h z5D4uc7kO>G;iNQzQY9vbEv+yv1mLv*SktXc8CVXcWD!J|GI_v&%CDOzeieQT>H(vt zqPPbstMQ=;egeL_C!CAp`za{@&aM80v6HZ8+-$GDlc0KBu{Rgj@!=qT5~x!`>k&E| zg7Y3>Ks^F-KC;bPiH{gIhvz`A*qmCm6|2RmS3Xh#sv2x~CiIHCP(=QC%VHxYb+M{> z7ofSAv<7~~o{FJZ%U$~0;in;;U4-(lhMUIc-)6}Z=pQLSf6Sq~@oRU)@gOBUv`!Tk zE~V$ZO!B}!I%?x^UnO+rlVx$M_}}2sRnMtwP0G*rM8h$PM(K*3vxaKZbkilKq4D!m zbFybprULUy*OIp-LojdDxThNA+TsX42ivVLLJt02_69wv1hIXrPzvj6JJM+Uwnq%W zdf=OSA?}j^^6`D9#jjY0`SJ5amXr{+UWwQQ-a=USjUwNrf@1q=71D3+m;BrD4+A;m zE75O$K@!?hAbrh8A*_3;RQ}0g-4$-*aq^()Dyb0GRrw}m6kFe)k_%#8sek&OS$=Hm zDzEf4p!s=X+)`xcYY_CjE-AuE=XKGXFGw`j3I8JcdDjmPw-=6+h+J J$NSI!zX0~>FgE}I literal 0 HcmV?d00001 diff --git a/libftx/libftx.a b/libftx/libftx.a new file mode 100644 index 0000000000000000000000000000000000000000..707690daf82c29620c468ea12826415579451b8c GIT binary patch literal 5204 zcmbVPEwJlE6kfs4qdeg8cmjbaGYAAjlikhVoi_{u@dN^aKrqvrwrLwklTMmGE(`*J zKp+qZ1OkCTAP@)y0)apv5C{YUfj}S-2n2#JyL+~q&g&%Q&V23J&3^gLIeYeO@6)%N zbzZ(OnvA=Do-@?8`#B!_ekk>l%MoMj4rBMf3Va0o$k+qdfR}*xfNz0+7<*6xTi{FJ z55}%N16%^10>3c!&@JE<;6vaC#zyx6F9PoZ-vECz_OJ&O24CR&cgC)df!BdgfS(zA zF6UzHO{cbvJ9xmSJXuCU6bzC492v?@+mD_sEtVLRV%3n%OZ6~#dMbL)Eo8Ft zYHI1!2nek>eAs05%9d(rN(=7PnJqaeSE=3wHaTu&P9M9M8F8Au92NO&*-X^u^XX)? zDvL>{9NI~p`3Zc}Ry(JvYob2e;b`Jr1aVC79gk1-(opIa%DErv)t4=o$JAOe*~|4K zmmB!rfpM_tJ$mM#8@Sv^k{jpiCShO`Il$-8WJks8`*CbtwTAWK$Y)8((OfA#a}QCB zI+L1p#0|ZUZsZ+yzh76F0JUxskRJndBjM(ma}ioOYn+NVp~ULi2*epa$DMe2%%zpH z#z|e@jaT@b#slK@WBc0x^(=&>Iy;{mM2CXz^;wt$HCDM2v42KwboWSl$r-va4 zP*2r9`@Z0G2>ZEIM}{kfH<%mK9b&i<_sQu#T^Txk1MzY{8Lk_2edegM!9EAnpR~_B z@@#eV`OE`4>xP?za=5N@ju0<)C?Y-jKDocPw`pD6-5y;?eOz4hhyL8^Mu~4Yy)}v7 zM4g(Ho)AO#mxs>zg)Yh}9_llXoj%!eLvL_haks~|+&Bm*NA!Iv&mwm2lmJ|6U-sO! z%zK|f!JYF9u83@}>+c(hvq#_}eCw(;PUv#s{I3D7@B4Hpdv%4RdjNISa%D)DTQ8Tp zXTRk}AswuKu5`{mxZLvw>vrn7<%)nVw|?D-?pqx%53y@%M`=&>K+ow<>ao)PZq;1j iNxCTdb&qm|7|7@TGni0Xjc#cF+34lsD46grNB;rV1mzY0 literal 0 HcmV?d00001 diff --git a/libftx/libftx.h b/libftx/libftx.h index e9d6a7a..3f74279 100644 --- a/libftx/libftx.h +++ b/libftx/libftx.h @@ -6,7 +6,7 @@ /* By: cchauvet d<24u03ii&L1t~Q?N!$6$li@y zR6eRyl_DpCDe}e-n{wE%$u3F zGxnYN3uhCC0YU~GhoK}Wz=PEAJQp43U;-@{7uNn>SbdROyS2U+zPfj7{oeemwci(h z6zk`7SXlincm3C5seEYm@F$-hIePNc=`-_Z!I&`iWv5bRHuwH?cEXrU10*a2C)0Dg z%W0wm93&xoH-Om%F^vJ zO0(8sXatq|a@X~PYgP>kexp}tb=pp^P^-1Pg@-nfimu2g44?`%G{xzk8Zk3C6!oc=sDb}f~7 zmPn)Tz$#|{0kI^!+=x+uIsAlM)FwB;77zs!l%`dbCQwD&$%OH3AZ0qK#EsqtF&|fM zn>D~L#>mf9^n3VBeMHgMHwJ_~AJG`@QID}KZA`dY#U$$mpJDku1(!Ps`ar?yo?|S3 z#GLZn{8o6D`gHs#+e=)R<#QT-o8?6f|C(i6!*8P|ImR_toE>#Ts)bv)Y&oPGdStCi19I`&#TSb5cbHXqM>v z%4EtM{e&3BFXK{aiG>Lj#IxitoaRN&s%i9tkHEYN#@L>T!N}zo+K@T}wz=!EPM{{P z{<~a%o*k%udSku*S;WXh-U*Kp71{5;0L&%6aQZ%R{y(#U^%noj?5~-@KN3Jw=m=*Jfita{Q^^caqstlLFtnm+GTKwzu?~>rssqZ9N>g5k)V)ndk1xK@gK*; wr+*JU{td*;3meoXcX4gfpX@L3D1Rc62NJ*|Jm_ynx;}$X*^vB3aOv^i0Br5ycmMzZ literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintarg.o b/libftx/printf/ft_dprintarg.o new file mode 100644 index 0000000000000000000000000000000000000000..e145da19e132da88cec241140cc991b0209bd646 GIT binary patch literal 4752 zcmbVPZHybm8J@lM`kZslzK=9*b?YB3uFqckOnkOw zudm0)0pZRNYlRdLC*>FL1EjQy3PMOk(4!Si%k@tisg;@^{h3Nh)gP&pABTuIo_BU; zyjaK8j(Mn!fUbD}H%-<6!jFF|--> zqnGUDWh48!q252V{CTJ~4AT15U82pfp9mSPiw0VZ7FFZx_7e5AZe%BoPr%~k3O!r# z8&|(jdFE8KX#(MyKN6YGQ|1fa%;)Xo1z+Z~GV}TF%xCQ->g%jM>849L=@vcd-W2K1 zP`Y=$>CV{6cYWzj$#iGB)19)HsIOC=bXWWM=o-=Hi(+(5Yjbnc$=F;(m6ERTr2D}z z?AJJ$TIV3cFwTZoZcOWwf^Fc`&W*TY_$1`6!O!ykdz~&nS=$%X% zRt`i)H8nD{Yj0#&83{7hrvn@b&cxKnUE#aKx9vVQdf#rwRE_ls=-4P@fm@gwxi=gR zGp0ouA;D2ajga3zh^AwsM^Oz$DfjR23s8lHke{*b^yn%jP_Pl4LXPq?sw>elo@(Fg ziyfZT;mtW-gAC841+-^T$8Z>n(KN8%(8H|-ch$Y$p< zjRn)1I5IskUo02vb7rYDQ7X>nt;Go*lJAIS=!E5S3?0$0&I;9ZC7-XG7HgF2#X{N4 zjdO|%S0FB5s{A?)I(}w`)yzV=o>?#*FP&b{c`=it<%tkPIz8eoDufF=M=J zbJt#tD%!w6=*QY{Frmfr8lHQD1?}cwUM+`G>WBrCP)8ClIy^0WkEUMM27=345Y#bH z$3ZQDy2FA=s5=rcIy^0`Yii1+?gVuYs855s(}GE;I}Sn8MslY+;G z)z%tAuVd(S7Sw&~FqXQ{f=R*iQAt2Jh)H?NO(dhALiGN1^(jQ}w_sB6M06kKPigdR z$3i&^();;ezybFE&0ei)d;fMctIo#iz{pXV)`dBEXbXI>3#YSWs0(Fm1=xs34}V92 zy}boLu?7C+7C48eX2@)M2H|92fK^E z`AID>L4nu4D~RiTTSj=R(+A;)gul~+%RUL(iOVi<=K&bz43;a%jOFbuq z|A-HNUie8LPM?}ovX0?%Kzf#iU-9Am)&usO5C5z1Px|mv!nb`mz4uh;1BHsz&#y)J zvR&ezau#F16;|SJ2!C8ynltab9TvEMKDYG`ZjXec1MRbav0Y6!s#UYL$n=~!+rT|G zJ6kgsm|inW8Qn4$Ev9EH^YbPyN5QCDwRUtBj>C1ri{*T!-P$NIy>amf6)V@kTKe^<< zzlr?+@`9+#{L-kU#(H qz|`ZLbezA0pIgR7yyR0n6@UI=0RFin-bE4kk_aF}Lz4YTUEcukIH$A# literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintflag.o b/libftx/printf/ft_dprintflag.o new file mode 100644 index 0000000000000000000000000000000000000000..920afb5936350db9d6b007c4d7a79705a5c414d8 GIT binary patch literal 3008 zcmb`JO>7%Q6oB7)y&F4eY$vH`N)WO{OAjdPGz2O9Gz1~jO;m9}GO8+})!JU$tFG6P zcWpvZ+R{KJ%Lpjqz<~o75H~m$B9)dRwI|?=#1SbK9MW4QB8B&MXYBRZIUw<*+4tTz z@6F84&OG}{{@iOZNdhhstU%x66yWw)-(C&ORmfmuLGS#jZ~vX`Y(3IDtv$U{*wwpR zd%F~}{Rq+@96{q=e*XaFfsVG`&F|^kw0>m_g)9UK1oO)s6#fekL*JfTm4j?NK zV`yy#AbtYm)XK!f1b~tTBI?tD8k>>i6yd}qMy$;&qnS+O(%?sIaWWtgY!bcPuv|kF zRJu4nq zcL?>YOgPq9JPCzj%k^8?l4H8nY};yjcEin{Uep$}h52V&LFehqi|8$B&q2jE${S7F z^(&59)k=_aD_*YFs9RpHRH~V+w&mxR7ISsmwY{3>DxT#-%k}K4Yn8J>SPwUFi4~{uwqZ7_*eny8R@Ly#wiSAY(KZdo_I$&~ zVgK9P(Y76>2a0s*4Ujf7(%g};#3%S|pFl>9ggzm>lFD3g-=P6 z{z*-eq9cJ#8hmfuwm_1-BO#|HWqLf3Q&e?bnLV$lFDbHGRn#5j=#G+9eI<5YNvJoJ z*!Rk@3(6dJpYWCOb;6Q*CYHpx!XZaIzeN^@hX*6NK<=N)fo?fG9RrLUIXq+|`0%;E zfKi#DNB}z4(~)_Dy+roZA@SRX@LA*}bSIM7f`Wp@Ax{v6I30J+n*>paV@2q3vPs6V z$$=F<_!|)q?j7r!W}5SP=06tU3bRQ)9^o|38RkF9G<~_=K|uSNL-_NI^LZWSpB4CJ z<`)G19`o7Z3*ML3L#2bH5vm@i8bfk5c!v8!@j)R%{h`2rW&WoE|A_ft2>dJNe=Tr2 zuO#1vs<)my%-<3C=giMCO?w&L&n3pieNHA+(8^Y^g;k_jY+7y5nwDc~zP0ItR%+Di z7L_O8u)VTfwULFvp5J7Vp>MmD254@>x3sgb7v??REM4s1cPvt%IZnH7nB_8-)@r{i zD0?`*chTMm>~Q{YRL6ELHjPy?DowL)4Q65y(QqlgSw#I#o%H`B^otg~2Yl4O*hS&r znRD9Ls8IbR#_tvHTV=*I4wx2eL>f7rGf}=_P-h(!N8dU4Nkh%+0nIJ02@(864-|fH zLT@;B1v^INYYg7yiA;;JbWcaEe~-cYEP>WfbwXUfhKxcMutnt|%ljh=(dP4WP4#9} z{x7syC^UXlcplg5*vai^+&;^XGP1>3y4T1yhQisQS{4T2@6Yj YasGSAhV~BGO_sPvNhp*@LyGhN3)A0J!~g&Q literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintl_base.o b/libftx/printf/ft_dprintl_base.o new file mode 100644 index 0000000000000000000000000000000000000000..0f75c8d03c7e6d6a775f4af28d1b5d514817c43e GIT binary patch literal 2904 zcmbtVU1%It6h1SvGds<;yPHI6YKtuXAflN~(kN1EnDcoGGePwv<=!kmFDGUwdY-`$lzCRUekyQ|?XcXe*VU0L3M z%=x{@`nj;Vg>usu_B!QZ^cG|;+=u4m4fl}(rWDrt%eSwOBeFpZqp-eOSifnb>Grqd zZa-Xe`*RyH%F6P(mbnn$$HJUGrEm5No9@bw6K8(VhP4ONqo$G0-hD7Vtc@T=&(JOo zMn^X)j*8>T$;=7l%%B`Ny#U?w7E zCofCL(gc*WVXhqdL71zwN`5`J=yiL|j-Q*HaweRK@x!4APM)1YZ`yebYC*BO&~5rb zt5`1eJf{MAzt+n)I&H6)uT&bPaM26$(^L6&({J_~UaOUFHOsYNDKD~W>H>gEL9Gft zv^u!Gco9U411{HvCivwj82Y_t-S?_FBK)_qsR;mgMGCanUI1+=s~y~%v@hZZI)peq zB=i~JL^}JX{`5Xe{|p%bpCgojhw-gx+TZDYq%e){gr@!=?1+#(dZh7CWi&H2WKWrv zHE$YL-Ar6F?NE5O)j(Y{_gl}Iwsq7rFPl0N?3WOoHOCM=glKNoOwO8#d8E`ufEF3L zhSZ~`W<90v!FuFo1NAqECg88FK|uqy3*8kq_yF$$(J>%)>0?0y?mXml!$)H4i{2u3 z2A^y!SDJJ<2jQogKv#+;fS4aRLb@@Ws*<=k+2{}9vwgqNmK72nT~9PnMj|Engwxa^ z*&iu^n{1Q1Cx#RMIQ#dqrmqq2>ZAXHA7Nb9L;WIgBeh-68|;hefVSkHXS}NLKVo0@ zNAl?$lbjRpopt1Qc~`;Dvj2gCzs0^>PpzZ*~%#s#gx{ z#ZtN4^%lYDdaaTZcuN5|l}@|u;UHi}FX(bO%4qtv4mf@%@SJC#pBwK5rOGSdv|5Yp zVyRliAy?nIxnVTSb^!LH?V|NsP2b}UyhgFsEww%3FN6V2sUnWBJ4d5~MFpiYIK5Zf zr2ns6#|7f&S+4gEANXG+z?%9Q7n*;B$@?K=Gi=CnAaV6B(qANw^ zG===hdEZHZwcKB7nj3@iukvM}`r;zf&c&j literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintptr.o b/libftx/printf/ft_dprintptr.o new file mode 100644 index 0000000000000000000000000000000000000000..385cfa995eb65f3943d5a5f15af3f05a4a3eee81 GIT binary patch literal 2920 zcmbVO&2Jk;6o0$x-F&!lz7V9e0!w^_kF4`m2s9K|m8lC6gi1jm(OPSJ?U=6Dk#{#r zsX{Ga^%E;b1DUiL%1OkDZICSlZ>~U13YQw&HK&oy*KlA zX6&1}g*R120U-*UgCk3z0OLJJ<7_z0!Z0$I^6dxtjX%@v^}qA&U@yP1z6XQ19!JI| zB6o$;E)Ckb{XZ_C&Tr=S^6lL2{oIa<=EFonHiO;#59CD>x@)J?)bz~knU`Ogd(|qI%60{mVda_BsIH}k9y^s9Rz?f}br54|PlJ{^ zmrN!B5+;&HjO>_}dM$Z2`P|7%qi>u9&~;E5x-<%4%yyaZ1qMmbs-QQl)QNB$?OF(^ z8lgSC9X1YI*p&CN17+|t>~(c}t;<^JSTCS5)a~Wa8h){3l|yTU{2&ahCt#@ zIhI>Zui8zo)^O8P)8?c(IWZH2lT)8gqcv-ufr?)!uQY3}zv4H|5@g(pmsxJqZ7)+Q zEnC5=?Pq4EGxeHV^OkML$vCxQ#b3*WE){SZm?Ch!TGh47X^hep4?>^}7#gf{xoLYI z)Zo9Zk2dxQbtuXwmqA$@Qcj)d>D|IIpGJ%tNsGGksiDu+3j>CF0~r7}5lX1L^#1-`-7r4T$Be3;H0E_}M?Y5i9dct^H9}ILA z(J|uz!t;6$qB}TQ4N=8-UG2ksB3`Wi4$%bsbr3hH!QooErZx146Akn@7!L&&B1SYA zcnCES8Ikg~nDH^{As)->n`7`NnMAt}4<*~N6;_CLE#ixK{fNoc6PJ{5xq2fUN8l4|KPurOCPDPFkqG{L$Al+X(>mp^`4Z!T ze~s;#WBBJI{B^e9jo@FgeIU^Z>XGJSi^2eZ_u*KK?_nBn1DA-_q??YP(6N&`%{;oIiLca|nR-zr@L z({Wbo1$tlb89MR}oI=s^>@I(&<_f@GE>xOU-6n^Xz{j+OO8LmU^BS56`&JQ5?|MDd z%|_YsErO@aDXzl*SKp(nd_P2_%Y3+g698*EN3zhnNSJ&UX+BFGN-OM-y67FIUq1Oh z2xgYSEe6PszO#5q#u&ekn(|MxE!2-Z5cfjhV*RofW5FT)I~yO$AdaKlYz#&&Gfccq zh9pt{vp5&G|6dtgWCz+m)i}EUrw}8`BsN*@vER2ch+~moXsS<~|5d(J^d8G1{DfY> zNimjrx8+MIO+>l$E+DoNrEf7XC;8G)>|elC-?;jv`9O+uLiNLcR)_uqZy^?46GHF{ z=ieYhk|_5E&c)@Qi^)&Fc4GY^|3`>v3kMBUEo_If$o`@(w0@Fk{(FcCPDtQxkuUWg M+vG=om81Fp1=zkS+5i9m literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintstrtab.o b/libftx/printf/ft_dprintstrtab.o new file mode 100644 index 0000000000000000000000000000000000000000..575ae670c07855ac678445bd2005bc7f38c2f7cd GIT binary patch literal 2856 zcmb_d|7#po5TD(>w|7mN%ePt^t8%Et{$O^KG=j9DO_9@Us0udRuBz>2!euwQdDT^U*M1a5Fvs;)SoTHncaEm=6U`gIIuS}pZUyt zvv1$by;eT^l&)zYMT3)Y*OMr~(fnO|J~8KE1euGK-fxxlKT5recPhR3_Koru1uHko z+lk&N->z&tvt3!Ay9vWrP9U~{M2T+9-b`rg*EOTO)hlmd@P`2;$z)8tu2p*F?ccxJ z+1c4BZ&lWRE}i>H8`X{!$AwWGx%Y5!R2wq^^kGahER2kq^M{P$@xc>=k4~H!KQ#f6 z6QDD6W*k7w?s3gWz$l&^92^A54+9Yj2T`R<;G&=4lfwt`2kPKh|7cfqYj;K6^Z7Y?Ma3)+R}L0cQq4)4zw-o@{6KjQR|(5b`e;>er&lS8Jy zf((Ff5z0Xoe>F|}t2ji8J|jMw9fw_dE!+23+mq8XiJhFEot~TR1r0xTTu@&Z&kH4t z9LH^1t+ZkG>4cFO!PrH_N|K{b3q(f5c-n1$83oSb51<4ASM<>VL=>O5@Jq_ zn#;mKxL|%H^l!w#%R)EjbQ3F0m+Slc0irqhbEjX>fZbB|gblvOdq8vy$TW8*Xuv=3 z`sWxQ%dDTAIbv_&Gm^=bCf(wG_-Q6kXW?gpJJ{bOFJ^G6O5({aN1vv{ZkwSkDSmFDbb6-%)THBqSfEYImJa+5cF<-($bTn$9454nE`R`4sYCIc_~( zuGZ@HuDc3W*Y#^w9pwup zzcZa5%_5mE@j7B^O$foSy#M#)WJKkj!&txl=lkqWGhN;PImC>!I~`P)@!6Fn&X?yx b^^>Uk|A?66Bn1As#!dMP`;-^{$3c{|VE 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 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintx.o b/libftx/printf/ft_dprintx.o new file mode 100644 index 0000000000000000000000000000000000000000..6bcdbb9f71af3d81f3fd164a65e54d3ddafe5070 GIT binary patch literal 2512 zcmbVN-D?wD5TDH^skgCd+Fq_76^)?Whf6mf)^Dj5sm2c!go<3a#7(lBEZuA**_8NE z6$GLBpuXup;G_8DgKy#o`WNUQpwI_jd@ER}GiT2>yQGmyZ{&`v)r(pywXG@FUO835J78h0)yUPz3RvykQFMcS!X6q$7l!=WxX-2y7C0Zx-k9_74Iv21(E^lcWt_#a)j*xwTH} z1yY@uxH}OSY#e+d#-Emr8woo+kMt)*nS11d&izrPR`@#0hwQFt1 z^Ls`Wa-QAEHCj!pldD!6W_RB5bCbnf)A5{6!*bo6>r`yNmlF=Q;tO~I*fsE=>vf#E zXVtQV{9Y=5QY}c@jZ2{QGTQj&flZIGVLK3`MMQmp6Y0$T*vX-!jRq*5!xe`;xNDmB zGd)C%`ix6ca>V)s{jt_$eOOD34}MPUN*+rLUP;8h#**k8SVip55R1c))d&^n{ZF?} zt;-L;4n#o*WmpxZ4ph-b(qU)=*gzz+0Tp$_sFIK98QN`?wp5|6`0bWwnx6q&E2{zF ztP2{%UCfr0d3*_1s~DAf#wVowmxA-11Z`Jvy61?LcS=rqu6-*!a~)y)u(ap6j+9S_ zaPedin+@SNrEG?9oL@oIXCl6TArK)eIpwJ4S&(=*&jDo^!Khi4ZoO<)Ds5{XjJD;P zhHv$JFsiL))56CiEjoT%ssj(lvs++zE#ERuUznZf_-1tu4A-4+md#oXAA7wYrt6j~ zX2)9R?>Zg>R-0q`SqsY?N-h7O@a#s*CtE+U+g)0sq@E|e3C=< zo&m|Jk1Fj#fiQKJNIy**63ZG0m%cj`Q|T}dXDmjJyj`mX#U`Te{?jN%t@sWc~r z5f#KU=g*wp51&<2@dJ;*j0#5BPDNnk@`g5~R>0Qwa4dQ+QT6v^{aNWi^;3_-^&5zh z3HJ$)g7VVu0RxhAeCB%*kMe&l4d{NA*pK;HRPtH1TZ#fBY##;KHTBKXJ?wvo1ckVM zhN!-%{ymi-&k6M}g^T?ezl~T_s#%%PMbxVlw!MzZsQ51<;?uuIIR3wg>E~BzOzz@Z hqmR;`<5B)ZEC&+63p|8-M>=lk7ima-^nVhL{|itI+>8JK literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_eprintf.c b/libftx/printf/ft_eprintf.c new file mode 100644 index 0000000..985cdee --- /dev/null +++ b/libftx/printf/ft_eprintf.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_eprintf.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet l5TCvCT}+(V`GaUm5m<$a2b6P?2C1}FYlKWwRDlEvs)Qh%?Xz?0`5f-f zu0a%v3YDU~5Z-v?81VWXNXukoU0I7WoZ;_~EX6|;J_11lWk#=Y1xASLrJahiC zcI8b&2w)O$0gg0A0q$Ezay1pJFprj-8@qq)-Z;E<;}A;U%;3Sj+9UFR_zrFxKc|)? z?bZ%9_G$+=&p_$xWdcws{RZc1hvRNb@@(VQT|rI{{}>L37?T3+)gFELdn4Xy`n|!` zQ}2P87pIDgmRX!TcA_{h7Hj~+L2$vYE}6x%g>!|Mk6&KAcpSjAz>v`8MS$G;m}0{hYV}Ed@<&1rbiFa-jORH(+ z?0{t(OIh!QNw3@p+^}8ldr|Cn!}98yv*N5QpYElHt6!|4w(h(Ntz^rO-Kgy}pc1y? z%67No#g#^5+wJweq_VzN>G+`^Z+k&d3H*918B}&6KTKL9Pe2VC&8HS=$KE0-%FX4o>1Og!rd8ON=Uw zON_3Fk4x#PQIXA(u=3N_E!%#}GVQjN|HYdA(=t%Y+uvDJ$cyK#sq-EU% zgA;jy>m=SF0jJUJbUd6LX%Q!pJkC7)u+;@8>?WRb>Fv$sIB^@-MjZ`K5cE4+ZnKHw z-5&D`{Lqttx4qSh+>SSL!$EK`PvX{*f7(fT)NQ(nOYo|*Dqr#c**?0e{lt-$WYgSX zKys>=O7tBdOzjyuuhNFZ{hMh3b1X<+Laz2LAK#IeqW=XV@}u96CyDVN5TpESxK#R4 zD)?<5Bfh`NSyl~ymC6Syh_Y^bdICl+$D|?mGhsx!zk}GM_urTAFG~k{Kh;=&|BEu_ z3UZb9q~BL6h%)DAPV-H&?mr`kh3=;k`!TPNl6{)}HkOurLCFp&B6{?%<;XgeuCe{?wy<)^Q`p8qOh=9OU= i*-cy{;`w8M{E77Z-y^2ij_eL3c$X9;@|(h?=l>V{4&q4w literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_isdigit.o b/libftx/printf/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..e6094e703f2370bdbac435bdcf5ab45a524c026b GIT binary patch literal 2176 zcmbtV&ubG=5T3W2P1B~`q-oXGisVock#5o-f~`;^5^JS+s6F4&CK_{nRz=qo4m-b-H{jrAqj@O#Ak?)p9Ww(lWajSfe%swX+Sxu@jJ-LF2WX{Zd&6jb%^p*x?*pEVJG{;wKmEc+ z*(G&Mk=6LQDRq=3!T^$nU?QBEkkzH=jp*gc)v=qC0I~uShgQb`Len6t%h6~QGd;xR zT`AJJE*1P;<`I$vOb(+sV6k=FW$A6Z>v`Ff5abF?+ifO|s&1E)EwkZRbvrpbr=_*@ z%zU$RIQx7Ky#?(Wl-#`K6s@x5Y6hh2l9Q^`Yo?PjjEdfDnQm%fE>*K^%c+>vYN~1# zN^U!~(Xec{|;kRAWn;f9vp6|@mJFAk+6*f zbaS{uFpWE7?58?HiW-TF`EG_!)sex|F3K^cM24D5EPPKHFDbao;j$uqR#;O~FpJ0k zb!VgfD-mCy0p*LumV}hY&+m z*VI<-=VlyNH=co3t+r};y;#JLtK37cTDHjnvyv}0^qT1_g43vB0aq`e-mH=SU)je5 z{`W5OCHYH#F95EC^BqH+Ffm7hp5ca=Gl9p2!8OGObJCH+&$C<$739)f1To@%qu&ma2~WWl)RZ&LeW4P((3SwW7WIWbgLuFAJxNdR zx%|{m{lGrlO%L1fe+!i7fX81a$0y?X1w`Lfzy2Nap%Q(f{te<1@dB?P*6*rE9DI!D zehG37JnUCL!a-4o>eH`cus;0{$ZIEcR4;LzN-~g?;z@$_-ys(49q}G<@B=w06i44k Gu>LQfvb5U( literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.a b/libftx/printf/ft_printf.a new file mode 100644 index 0000000000000000000000000000000000000000..0ad547545690c275fd930a2bfabd7b79212a6b96 GIT binary patch literal 52442 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 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putchar_fd.o b/libftx/printf/ft_putchar_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..55544636ae2a462b1eacb2a1cddccfdbe0e91d94 GIT binary patch literal 2368 zcmb_cPiqrV5TDH^X>8gwO+;HO5>e?vy6Hcm{%a#ro1!QP6)z>-B%5UEW)qT4Y^$wG zK~hApAHidfdJ<29euw%61P>nc+(Mn%eJ|a8?nQ9my_xyV%$wPH^Y;1ty*mL(0!|Xl z!m-9tfK13G+hPXd=(&{L`JUbW8P9Zn?Q9-)<_}(P9%kRP4nEN#KgjVTN!jhM@#Qbl zpmZsg49T(h>5x9s+)SVq8Uco(DNm0EnRQurd9HW142+LLILPJ__spfBz+2!wDAz6wYW6W*Asb* z{W^;nEh1_Q+=|6t1#b6;E9ijgU0gvJ#a)u5gIGT?YBMg$TOWR&O((i-mItIzq&Jcb z1;RJN`++FNIxar@E@DCWedJ>T`S|8MW|`f)2Si1N9ucy28UCJ)ZL}m@=i5C%Y#CSF zj`D8jm`dY7Sq_gJ!qK&<7k8P-#CS%+ohfyU35Nm4dEQel-1WrZj0>l8ZZe(ML!Iq5 z9_7o-F5*`i&hr{fUl8yurY{NjOQx#=zQOd0fKz{oQuglD=&o~`;bNUVpcJ)ytDIBw z`G(d8rJ)(BVrgp@D1}?Iki~C z2U~_G4c*c_L56N}K&#|R4YjIy$J?vnuq&9?QuD~ytHl2gy~AVN^TSWwVZ-yD1B_GO z+(hr3Fg}mmmSF;)GmeWhK7a=IoN~VuD{6=VL=p5qXF!pAoh-ID-8Th M3KGT98x!;Y0byy(v;Y7A literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putstr_fd.o b/libftx/printf/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..7324dbede2ecd09d81f846285864d6bb2cbcc59c GIT binary patch literal 2688 zcmbtW&2Jl35TD)kTf1@NkA%`Mge1wIEdrs*sAiw%3W3^*XZG zmJ1CXm5yrfD01bKpc7i#MeInM=l7Ed^MOVSd38 z=BT{?U3pBZxmVsdYnR8_dx_NWFUY=g3c)>$MSSn_c=Y4&D`m7XHfuj*@2#bNr;tCs zpG+ou<*_;Zrf}`+C*7XoJOxT#c`UOiv`p^k$xL2Z!0gm4I%@`67WDOFTIO8(+4K{~ zFD_m<4v-L_O6cMufLM#D`f1QI=hNvlKr##D0Jm@?Z~&zIY8>|E__Tw7sxeBM@+xUc zwvBT_y?ZmFkptTLI1BZz<7;{H1i!c9?X4@^StQyP4 z^3s`}Z(Mn66}2_v8EANwou1eAI+aG>VLjeQjjVquGa>~iW$44Llit_6?i0G0h zaoooyBjPrnlQv{NaRU$@KE;BxGrlDCheJ58NzjQ9PV1DU{;1@XXSk|Q{|kOj;=J#+ z)Xf-vQ|f+SqRjr(;6(L+P4V}o&h=yefy8+|#)lFwNKUzj^FJf;__>l`)a`0-vtm`N z9lH-k$962kvj-j+wRWpzV;4#f>cqetL^Rz-8w|JY*~W`6Z!C2^tF{e>{>_ z_+Ii-H{>PzmI2A*jY{tfVc|PQuIn@*@plZggS|sP8o@))9s&PFCbcZ#9CG@u+^NST z{yB2me^u(tK9d6VR+u>dFlRaJN9z(@_vZ&w+?VcG93$_e66E{IE5v;bG|W1GPJ(A; z0G*#|96$dl#K?u~grZL$$++7LNY48+r}to1{At-llwX)Qj`;;NvK;oi5^lnfA@17^ z;&5)kny}9EX1=eTd>apfkIcO9{l4G( z-uu3J?;{@+uD+rw3J6hP2~I760$fO*j+evXGUSlCTHO4j*#9$M+`M&A+%4?URB@|t zP~3WTFZ)9x)jvF+-55h~w{S#r`=3OFy<-1IrMOwx8ze*aE+-$O>|5kPZl|nEsW3+W z5V9K+(pvk!qSJ6{E=Juf9PQI~cuHG^qhkN({M$b%6UzC_6w@-fN6uv?lt~>xH4vQC zmuIxh3+apLr_WxQdhslP#z5uJl_`M4;(*DX1TC|aPNxC%ED$02RH#yCP(>?Y_>b{P z-~*5fPnpNn2QT$)A1a?VY{yBI^|l>GuPUV7u4d;fB^VG8_=x{4!A80 z-tl~=?%CCRIO(k0r2zh0dePpdBL&L(8=&-Z%DJ&*>Qg-C#}KE7giaG)%H%#$Umn-h zU1R|KhEM|D!ndL*e`m%?(bvI8F*|;nwqv?(w>dk%5RSt$Go!OI9k1ecsy4*8iD!i3 z2i2-wGa6BIjhuW@EvvA^==V(Tvr&D8;cpz@mzbv4cbLBO5XjUWHmzS{Gb?O*g^jE* z^%_g)+f4nAWv{a-^v}{NcUW4lvvD*vq~PL8M;*bvP%1;^3q%v}*YU7P?X&;~rZrx^ z10Wh2#4d~2qy}R#D;i!$MZGD@69^2$sg5UO`GnsPF|3kMsG%tO5#1jsUqx`3DfaUT zPGgc$e6(;By+nqDN6i`Glbj>)S#F<+;bAv%`_ULq>s;ja<6P61I4J@gKl3m6^Bfm( z-{JOU318>-s)UPPwG3;b{!0A)RI-L;)Pa^_vFADuH)Gpup6aX+iKczF7~g1VFRm-`n@LU|3SXNHR5$A zmR#qBxg!9s<<6!1jWAKig1*cLqAvt4_fi%o;`J?f_c%Dm0pij3#H%rs8Lla|oD)rr zaj?aCLdo1EoRBf%zR$re;mEbjrM?)J{~-ro=MI!V^`)G@ff!N5K5-a|&Wra;0dOti z3r+n!%>QfdPwU4;_zAs&lVTj_{lfj@7>#A_XA!n0(;sl)g0z6xzkum)*s${}@`4iI zna+>y9^o(WJBZ0SAp|*I)W4Gv6PZi*%dq%2hQy~kS&m;pOuKqaW%eOHC(`5o;#??y Z5;^|2hzU+e;I9Lo{{wE5A1x`z{|A+wN>Ts- literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_strlen.o b/libftx/printf/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..f576670de2992f22614d023ea90dc15548f6d95c GIT binary patch literal 2472 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 literal 0 HcmV?d00001 diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..4395a1cfbae386bbf2ab81d7f01d69a0f513fd60 GIT binary patch literal 33424 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 +# include +# include -typedef struct s_list -{ - void *content; - void *next; - int tag; -} t_list +int ft_file_is_readable(char *path); +int ft_file_is_writeable(char *path); typedef struct cmd { diff --git a/utils/.ft_is_a_quote.c.swp b/utils/.ft_is_a_quote.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..222da8610e5b13db0c6ecc6633575e5bda02fc96 GIT binary patch literal 12288 zcmeI&ze>YE90%~TTfl!PB0`62J5;TvwJj*r&LZNdi+@T@ul69O+FTSAb#!<10o2_` z5Ff(L2hb;Q@tZUX6>)H@d_%un?tYic@!3LeudungE|=^DfooKVtNCZ=C2>3Wo=gbG zY1M;cWx~>LS7~L@E*Is`KP|?^k0!D2DwH~krQMO*+tfnWu%N`kqnYVrjTg;KJ?+1DL?@VP=Epy zpa2CZKmiI+;9m=z3kyF>=W-P^;jLvwC(~tBh8^Yls%Nke&a-q=PRG-#vN(gGGb9}K zO=nB*$ZAz)(^(WSe$vve`l_T**)D`7jdz60MGG~$9bx(URMm{7QHXE5^@=zX+A~(q j`T1#_-0#R)ymU@>XG?DeALQC|+@PUkIy!T2x6 0) + start--; + while (str[stop] != c && str[stop] != '\0') + stop++; + return (ft_strndup(str + start, stop - start)); +} diff --git a/utils/ft_getstr.o b/utils/ft_getstr.o new file mode 100644 index 0000000000000000000000000000000000000000..8e8314fd80b8c5c365eb86cb6d078c192681b8c3 GIT binary patch literal 1456 zcmb`HL2DC16vtxNg9xJ1A*l-LK_ap`hw4EHUX-{^HZhoNYO-5uAu4Va z(_Dfe`VorY$$JSXp7oOU)?9=vc&N7?g!R4Mna#S5Hy_NtH@|uBzi(zXd8W+Wh)5C< zCXuUTG!vANbaWJF-7rh`LS~M&e=zH3nzdUytZig3>j3YV+e55rE1Onp zlgKZpVDeSjO4%nM03`Y7v>o%-PTJs!`v5J_xHV*!Ey?SNxV)a*%JeROf30lDEBhde zS*;bI#`UwtsNr21>OFt z(hutnKvx3Yf&CG5-Hk?DuyJ$1&Y44Z!_4}UzW_8M zDJ~!PC;^O-U(UF-D2eRCco2sI+>$@H0FYZxzRHI4ZPb{3An#mnC=# zVl?b1*i~$T(1uo3si7?ygcj9KLCf-qxF@j|zALQ7GY{JX{{A#ym;#STd{IX^Pk=`ak;gG9@(Rp7S_UR^+ywsk#uK}Ij#K*-CSRxekrbasJfcxL`;!!KrEFF>})uMu(@UlWYJ zdQ50DMbFJnCqKf$p9c&V+6-RAow?Mz*wV?Vc!C1O$DH#UlEHQh8qRbC>zZr5ym1^i1B{eQ4!=n;?Tb46~-4AsKlJm$EjLcE;J z)p@CMN(ItSgGYTPgg=mj@ce@&VPAtd_ET7p_aX|6;NBf$&nE5=u%^^s4>pB3{AJw& zED_>hnvxCA${OnMhgEuorvZ!Sy(+kESVyMLUja%N-j)G`@Vlett0X?b1PoKWXVpi| F{|A$^tg`?B literal 0 HcmV?d00001 diff --git a/utils/ft_strnchr.c b/utils/ft_strnchr.c new file mode 100644 index 0000000..6654db9 --- /dev/null +++ b/utils/ft_strnchr.c @@ -0,0 +1,15 @@ +#include "utils.h" + +ssize_t ft_strnchr(char *str, char c) +{ + size_t i; + + i = 0; + while (str[i] != '\0') + { + if (str[i] == c) + return (i); + i++; + } + return (-1); +} diff --git a/utils/ft_strnchr.o b/utils/ft_strnchr.o new file mode 100644 index 0000000000000000000000000000000000000000..d90543eba51647469751129e8d679983868efbae GIT binary patch literal 1080 zcmb`Fzfapx5Xa9+N~i=)ggT@OL-s092|p@WP^!wU2Vkg_5v7jf0B!74&I?MBXe-fH ziCFrdFm**p4D_F<E_McCBE=*GxntS?%n6^d(S@mi@yCjp=rRT!4}*{OaTG~ zR>rsjkFm093~nm@kuf+K_4T1~t^1TT&h(LSw&Q0mQuC()WWK$K!OX?ZaPxQO`{IQA z#y}5lpK)+{sUh%he}!R)Edz8RwhZ>Jpjz*`vRklPrn_G_vc1k>+bxt=L`js2tKD(3 z{CNeVHL;HE;3;ir+VNY^dRZ;Mke>gE@3M@H7FnCNmrt@k60a8L67R8sz-%)Rr{Hfm zE1QJGKRAnIN#WzWkQJgzQan%zY4;=utL-?pE1@ZC9qGB&fd|5EOIy6ztrk1dv_61n zwT_&c*=XPp_Ca`d%M|uOt?8MLt>}aW0$WJ4j{cKF{y$h1dn9M{q1lqz6F1$J-)GDy zrZqRMm>eom%yZ&2%~7>92Ba^k5YOjPEMlDRXP?JBpViVoYM`9swObSY#|PgInICC3 zBF`@VOKoBz#Yx5YqKk47Bi$ohtY`ilS#mq1F@41~HJ(2M*2SNH4-4YYPMTa)_>KZJ L3h6s@AHM$%+M#(U literal 0 HcmV?d00001 diff --git a/utils/ft_strncpy.c b/utils/ft_strncpy.c new file mode 100644 index 0000000..16de576 --- /dev/null +++ b/utils/ft_strncpy.c @@ -0,0 +1,14 @@ +#include "utils.h" + +size_t ft_strncpy(char *dst, char *src, size_t n) +{ + size_t i; + + i = 0; + while (i < n) + { + dst[i] = src[i]; + i++; + } + return (i); +} diff --git a/utils/ft_strncpy.o b/utils/ft_strncpy.o new file mode 100644 index 0000000000000000000000000000000000000000..ba1c26e130f5b2dea685fc3a91ea7e65fcf2b6b5 GIT binary patch literal 1056 zcmb`FOH0E*5XUF2)(Sp~co6i^n+I{JFHi)jNOTYCLCH~SjH!xEQrc8n!3PLp^dk6$ z6b}l1iChG|>CIc5Nq1|EJvy+NncvKRcG>Kiy1JZD6p*IC0{mo>0{9V_4{;v4u~XyT zEB8*mxL5n&p7zF{RG-THM)mo;`qqCj+RQ%q&6 zwjM#-so8EVYm{_*FMDKGst1mpotR`fmK&d{g~f@}NzA6%4DCfW*mR&AZ-7$ID8oHn z>03PW2y$9voAg=i%UmXwdQ*vY>>$wIIN}cY4BAzbkobe?dIlmq+zVM&bdutis^}J~ zZpAjr4PdTWcYzs>Wtlbxw&R*?WnCMuy1H=)tW-L(3i|FYUc?@-idoW`xnC$&bjyUF zG0Xsl6J31=eZwOE52oRaWScp4@gB@rP2d*o!H8I@MVdig%fJ2|vS*>0jc6&1KdCun9kCutx5Y+7qDHz-Tv9Lj n7_#JQ;GjFl)iQbi5=dSA{9D)%KYOSVjoV@XrSzZW9J&8DURi6c literal 0 HcmV?d00001 diff --git a/utils/ft_strreplace.c b/utils/ft_strreplace.c new file mode 100644 index 0000000..8a2a2ba --- /dev/null +++ b/utils/ft_strreplace.c @@ -0,0 +1,17 @@ +#include "utils.h" + +char *ft_strreplace(char *str, char *fill, size_t start, size_t stop) +{ + char *out; + size_t sum; + + out = malloc((ft_strlen(str) + ft_strlen(fill) - (stop - start) + 1 * sizeof(char))); + if (out == NULL) + return (NULL); + ft_strncpy(out, str, start); + ft_strncpy(out + start, fill, ft_strlen(fill)); + sum = start + ft_strlen(fill); + ft_strncpy(out + sum, str + stop, ft_strlen(str) - stop); + out[sum + ft_strlen(str) - stop] = '\0'; + return (out); +} diff --git a/utils/ft_strreplace.o b/utils/ft_strreplace.o new file mode 100644 index 0000000000000000000000000000000000000000..d5ff2c5a17de2e3fff2437ad3b4e9d25be7a3426 GIT binary patch literal 1704 zcmbu8KWGzC9LL`^p;l>a6+uCVjB4r8Rt0q^5jlNB;~)elDc9?@N-vj?-j!BNO{t2< zIRvMGi#TO)D7ZM*KbX43En^Xc2o7P=7cl~7BO|m0Urg`w4um3Cp@u1M;f#2XkdWQ$8Iu8rY21$8fY$0fL zg0Qf~wJHydIv+K5__-?IsA^JI;~Rw<8-6lGWmRLB%71*JAS~2)=r?(o-VuF_8jqnt zU_3)J%xaX>NdWy44?ajS3CmqU@E%2Fu5ANv!=+y2zk=U{Ux#0TTi0_LYyO>Yw8S*Z}4Tj9rYoeEm}qd%F9PrDuKD^Anb1x(kVA zJHK>4>n0{9^>KZC?1JA;POMELx~N}51!E`LZ^pC-x0$vwqMaT*G*H3^I|EJ+*%W=i zYez?(_FW(9k6qCqY4ct$2QbclwR+`ZtZyGqfQ;;;SkD3c4)}4UPkU`(_5u0?I2m2H z7@j|^j*St7MLF-_Ht&Zo^}fQXM)DU5SNp$KxT=4va8>{90RCIyYM){8Q$^RG5PCXk z^|bqAaW?PGEO~j?%B?azZ#$;$*()B?t!yS^yPilpw##%k>)HCvTj{YS&$Jeq?l{Yt z8FOw9_h~`Y+V^JW^Jc~tWqCX2n3l~lrsHI-f1z$M9TR)zEXLIgjsI;A(Sgn{YA*$R z9!ZGf+M~zd5u +# include "../libftx/libftx.h" + +size_t ft_strncpy(char *dst, char *src, size_t n); +int ft_is_in_quote(char *str, size_t n); +char *ft_strreplace(char *str, char *fill, size_t start, size_t stop); +ssize_t ft_strnchr(char *str, char c); +char *ft_getstr(char *str, size_t n); + +#endif