From 660614738cde0219b2cf05d5f08d697c68dbbabf Mon Sep 17 00:00:00 2001 From: David GAILLETON Date: Sun, 29 Mar 2026 18:16:19 +0200 Subject: [PATCH] end of project --- .cache/clangd/index/ai.c.A50E4BCF59F9D441.idx | Bin 636 -> 0 bytes .../clangd/index/alcu.h.FC2EE915F1165072.idx | Bin 732 -> 0 bytes .../index/check_input.c.D27AA41095D26EB5.idx | Bin 712 -> 0 bytes .../index/fill_array.c.990BCC54FAB801D3.idx | Bin 544 -> 0 bytes .../index/ft_atoi.c.AAC0C85CD5A3334A.idx | Bin 616 -> 0 bytes .../index/ft_bzero.c.DAC107111976FAAB.idx | Bin 428 -> 0 bytes .../index/ft_calloc.c.10157C071BB8E972.idx | Bin 552 -> 0 bytes .../index/ft_isalnum.c.9726620C3AA51CF7.idx | Bin 434 -> 0 bytes .../index/ft_isalpha.c.28007DD25B0D54C8.idx | Bin 342 -> 0 bytes .../index/ft_isascii.c.691DFC1D9219DD8D.idx | Bin 342 -> 0 bytes .../index/ft_isdigit.c.FDF926DEC463B471.idx | Bin 342 -> 0 bytes .../index/ft_isprint.c.A68CFCA5D89065F6.idx | Bin 342 -> 0 bytes .../index/ft_itoa.c.AD9367D7015DA61A.idx | Bin 650 -> 0 bytes .../index/ft_memchr.c.047CCF6FB621D6AD.idx | Bin 468 -> 0 bytes .../index/ft_memcmp.c.E6FD67EFD6E31D86.idx | Bin 454 -> 0 bytes .../index/ft_memcpy.c.E00A74572EBFD6A6.idx | Bin 460 -> 0 bytes .../index/ft_memmove.c.A35DCCA87F6B72AB.idx | Bin 558 -> 0 bytes .../index/ft_memset.c.C2402FA78CA3CDA0.idx | Bin 454 -> 0 bytes .../ft_putchar_fd.c.DCAE755DD8CFF5C2.idx | Bin 428 -> 0 bytes .../ft_putendl_fd.c.EA696FEC111A6733.idx | Bin 478 -> 0 bytes .../index/ft_putnbr_fd.c.0577D1D6EEFA2E6C.idx | Bin 556 -> 0 bytes .../index/ft_putstr_fd.c.452F9FEE2DC8D0E4.idx | Bin 454 -> 0 bytes .../index/ft_split.c.0A611BF6D5EE9DD3.idx | Bin 800 -> 0 bytes .../index/ft_strchr.c.0AEC7670B61A66CC.idx | Bin 430 -> 0 bytes .../index/ft_strdup.c.6EC5C92AC323DA06.idx | Bin 464 -> 0 bytes .../index/ft_striteri.c.28BBB5646AC16566.idx | Bin 342 -> 0 bytes .../index/ft_strjoin.c.81CF224EB2B0C0DE.idx | Bin 490 -> 0 bytes .../index/ft_strlcat.c.8FB584B2E6F00754.idx | Bin 554 -> 0 bytes .../index/ft_strlcpy.c.D41441F6B29B55DE.idx | Bin 498 -> 0 bytes .../index/ft_strlen.c.A0CCD4D07FD631AB.idx | Bin 394 -> 0 bytes .../index/ft_strmapi.c.73DD60A0D4B77283.idx | Bin 506 -> 0 bytes .../index/ft_strncmp.c.130BC97847229322.idx | Bin 456 -> 0 bytes .../index/ft_strnstr.c.36ECF862C023E04A.idx | Bin 576 -> 0 bytes .../index/ft_strrchr.c.E1F60C7C5D981483.idx | Bin 430 -> 0 bytes .../index/ft_strtrim.c.5C1F726DF93A8E5D.idx | Bin 938 -> 0 bytes .../index/ft_substr.c.0C3EC6A520E9C29F.idx | Bin 566 -> 0 bytes .../index/ft_tolower.c.BA903ED2E7E6EFAE.idx | Bin 342 -> 0 bytes .../index/ft_toupper.c.750646D88D5B3BF3.idx | Bin 342 -> 0 bytes .../clangd/index/game.c.B03695838049B596.idx | Bin 1102 -> 0 bytes .../get_next_line.c.3CE3D9DE0FCBE423.idx | Bin 1500 -> 0 bytes .../get_next_line.h.01BAFD108BBB5F61.idx | Bin 612 -> 0 bytes .../clangd/index/libft.h.852899A78425DC70.idx | Bin 4060 -> 0 bytes .../clangd/index/main.c.449FC24725B4900F.idx | Bin 898 -> 0 bytes .../index/print_board.c.12D2F1C84CA68F4B.idx | Bin 696 -> 0 bytes .../index/vector.c.CCEA61708CF10975.idx | Bin 2980 -> 0 bytes Makefile | 2 + alcu.map | 10 - compile_commands.json | 716 ------------------ .../clangd/index/alcu.h.FC2EE915F1165072.idx | Bin 946 -> 0 bytes .../get_next_line.h.01BAFD108BBB5F61.idx | Bin 612 -> 0 bytes .../index/vector.h.9C0A9CF7FEC6535B.idx | Bin 1386 -> 0 bytes inc/alcu.h | 18 +- inc/vector.h | 49 +- map_gen.sh | 15 - src/fill_vector.c | 62 +- src/game.c | 167 ++-- src/get_next_line.c | 197 +++-- src/main.c | 89 +-- src/vector.c | 210 +++-- 59 files changed, 381 insertions(+), 1154 deletions(-) delete mode 100644 .cache/clangd/index/ai.c.A50E4BCF59F9D441.idx delete mode 100644 .cache/clangd/index/alcu.h.FC2EE915F1165072.idx delete mode 100644 .cache/clangd/index/check_input.c.D27AA41095D26EB5.idx delete mode 100644 .cache/clangd/index/fill_array.c.990BCC54FAB801D3.idx delete mode 100644 .cache/clangd/index/ft_atoi.c.AAC0C85CD5A3334A.idx delete mode 100644 .cache/clangd/index/ft_bzero.c.DAC107111976FAAB.idx delete mode 100644 .cache/clangd/index/ft_calloc.c.10157C071BB8E972.idx delete mode 100644 .cache/clangd/index/ft_isalnum.c.9726620C3AA51CF7.idx delete mode 100644 .cache/clangd/index/ft_isalpha.c.28007DD25B0D54C8.idx delete mode 100644 .cache/clangd/index/ft_isascii.c.691DFC1D9219DD8D.idx delete mode 100644 .cache/clangd/index/ft_isdigit.c.FDF926DEC463B471.idx delete mode 100644 .cache/clangd/index/ft_isprint.c.A68CFCA5D89065F6.idx delete mode 100644 .cache/clangd/index/ft_itoa.c.AD9367D7015DA61A.idx delete mode 100644 .cache/clangd/index/ft_memchr.c.047CCF6FB621D6AD.idx delete mode 100644 .cache/clangd/index/ft_memcmp.c.E6FD67EFD6E31D86.idx delete mode 100644 .cache/clangd/index/ft_memcpy.c.E00A74572EBFD6A6.idx delete mode 100644 .cache/clangd/index/ft_memmove.c.A35DCCA87F6B72AB.idx delete mode 100644 .cache/clangd/index/ft_memset.c.C2402FA78CA3CDA0.idx delete mode 100644 .cache/clangd/index/ft_putchar_fd.c.DCAE755DD8CFF5C2.idx delete mode 100644 .cache/clangd/index/ft_putendl_fd.c.EA696FEC111A6733.idx delete mode 100644 .cache/clangd/index/ft_putnbr_fd.c.0577D1D6EEFA2E6C.idx delete mode 100644 .cache/clangd/index/ft_putstr_fd.c.452F9FEE2DC8D0E4.idx delete mode 100644 .cache/clangd/index/ft_split.c.0A611BF6D5EE9DD3.idx delete mode 100644 .cache/clangd/index/ft_strchr.c.0AEC7670B61A66CC.idx delete mode 100644 .cache/clangd/index/ft_strdup.c.6EC5C92AC323DA06.idx delete mode 100644 .cache/clangd/index/ft_striteri.c.28BBB5646AC16566.idx delete mode 100644 .cache/clangd/index/ft_strjoin.c.81CF224EB2B0C0DE.idx delete mode 100644 .cache/clangd/index/ft_strlcat.c.8FB584B2E6F00754.idx delete mode 100644 .cache/clangd/index/ft_strlcpy.c.D41441F6B29B55DE.idx delete mode 100644 .cache/clangd/index/ft_strlen.c.A0CCD4D07FD631AB.idx delete mode 100644 .cache/clangd/index/ft_strmapi.c.73DD60A0D4B77283.idx delete mode 100644 .cache/clangd/index/ft_strncmp.c.130BC97847229322.idx delete mode 100644 .cache/clangd/index/ft_strnstr.c.36ECF862C023E04A.idx delete mode 100644 .cache/clangd/index/ft_strrchr.c.E1F60C7C5D981483.idx delete mode 100644 .cache/clangd/index/ft_strtrim.c.5C1F726DF93A8E5D.idx delete mode 100644 .cache/clangd/index/ft_substr.c.0C3EC6A520E9C29F.idx delete mode 100644 .cache/clangd/index/ft_tolower.c.BA903ED2E7E6EFAE.idx delete mode 100644 .cache/clangd/index/ft_toupper.c.750646D88D5B3BF3.idx delete mode 100644 .cache/clangd/index/game.c.B03695838049B596.idx delete mode 100644 .cache/clangd/index/get_next_line.c.3CE3D9DE0FCBE423.idx delete mode 100644 .cache/clangd/index/get_next_line.h.01BAFD108BBB5F61.idx delete mode 100644 .cache/clangd/index/libft.h.852899A78425DC70.idx delete mode 100644 .cache/clangd/index/main.c.449FC24725B4900F.idx delete mode 100644 .cache/clangd/index/print_board.c.12D2F1C84CA68F4B.idx delete mode 100644 .cache/clangd/index/vector.c.CCEA61708CF10975.idx delete mode 100644 alcu.map delete mode 100644 compile_commands.json delete mode 100644 inc/.cache/clangd/index/alcu.h.FC2EE915F1165072.idx delete mode 100644 inc/.cache/clangd/index/get_next_line.h.01BAFD108BBB5F61.idx delete mode 100644 inc/.cache/clangd/index/vector.h.9C0A9CF7FEC6535B.idx delete mode 100755 map_gen.sh diff --git a/.cache/clangd/index/ai.c.A50E4BCF59F9D441.idx b/.cache/clangd/index/ai.c.A50E4BCF59F9D441.idx deleted file mode 100644 index f2761ff616e31b09b78ef7abaef63e22e9e3ef1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 636 zcmWIYbaN|VVqkDi@vO*AElFfyU|Br6U)_z};9-+6+H$7(6yuOrDpDAB* zV|CZPom=9pf9&OLu4((ruU+l`$Tfv&t7+fHh8Yhhcx}F&>+sfdNr-F{zwy4M4htlv zu#1*_vD^^0m{Z@Pa&_RR6&WhsTPxHKS_EErp?7T2(igJxI{izo2u7ZeJ+A-a_OiTJ z={ncu^K9e2Qdi+>w6)#-mh}0XS<{u;WR@Qf?rBUHWIJPchu1|f%v6`}n4?o zq&i@@e38HMpiW}3JP(671B0jzw~jcN0Lp;D<%}*-4)zz(JPblWX+CZ~aWDasRwy$& z*|9Bn0uO@(P+FE-RtQYMq|LglI(XKc|INc72$VKsF=G>vVwGZN;ACQC5EEt;VJ%8c zD{cd-hPi@C3dMFAQCBfnC73BNw*VD^90IdMMpThQQ3U1^7!6beat=a~Gq{)Cpg13|06QlK8w)EJ KH!lw}KLY><-Nj1) diff --git a/.cache/clangd/index/alcu.h.FC2EE915F1165072.idx b/.cache/clangd/index/alcu.h.FC2EE915F1165072.idx deleted file mode 100644 index 275706893752753d4b686b82d0b4295b75b8ddeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 732 zcmWIYbaT7H#K7R3;#rZKT9U}Zz`!5^#Kk2=nQV*<4BSAuiaDhd4(1(J;AyLzB2#r^ zkzQQUnbN&)G$%0oHF+s831zPS^{!cMcE)zu4G+Jke`c<>ig^__Ghhm{-;vq_4%d?l zcbKdVpMS(T(Q4h)g|Cfwrx%-a))#tykeuxH%t2q?Z~sO1{Ns=Ah55a4NPD)s>hs3X zpx=7mKc!E;9$?q2cQngl^ZoaAiSH$77C~36p+h{dvA@vgm0S zwTgmn`C#z{VyBN~_nmvl?*0GJquV#$%HMdC^lYxH`b_01Hoa-9LnqZTPLx`!P+Xat zbPO0Om$@%IpRx5W8xMmhkOu<7Vyt4E44fRy3{w1z!mK?Dg65VT7nJ2;kc7xH2n(_a z@-uL9vM>nn02R32KfHg_U$-zG20@qtAyy#)umUkYpn`i3wyx7VR$Rx!AOTY#%qk32 z0E`W=6=q#l9XxB!|K?%fhA9wb6=i4OWM^Ukn{am7g`9oP`~UEOBNC)WScFXkXaW~2 zgE%kHilWrC;vGO?m~R**A-;ebXJUJV>qcdi2qTZMu#&I_%t0`(0ab&&1XT_55KtKG z5vVXs7f=}Ne5kMz|EW)FvjdheatZTt^72DP8DM?_ss{T7Dh~4rP#Ek3sBlqgP9lg| bT$Efa4q^y_2nZ0qw(V8db+y+ej6w_mV3Ofk diff --git a/.cache/clangd/index/check_input.c.D27AA41095D26EB5.idx b/.cache/clangd/index/check_input.c.D27AA41095D26EB5.idx deleted file mode 100644 index 426188afb95a8990eb58df0803dd9a52d7e7aa06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmWIYbaOkv#K7R3;#rZKT9U}Zz`!5^#Kk2=nJkP93>$!Q6?4`G8Ri`};JMPSa!r!E zHF;q}9U8`8g@ z&CFH}y|}eLSPf%OWQpjn1#?G^4^6|y; znv9$JlmB1675iA~J4@)VBIe!4EMDGYR6mp~{b*&1`ZKo_{fM+K%f@LYfBT$*{+RLd zPFa%f`7CwYS-xEYj2Cm_W-1!kGXL3ay&~~?A&chsxg5J+_Fd`iE_GLaYIeVt#@MI~XTZMuKfzUz~?ITMeFGLNz#Of`>)Dz~ZtjCcEN(FYFaZ=p;wA}VYu zyfD2$p0tV*j0d9`rBK{;di#!e8NW*9J}_uOCPs_#(-6xQI>;Dy;FTYIkH z$*i+mfWk5yGCVM09rKRQ`GU*#0)=ITWffpnF%+fdB!biw7bO?R18GK)Ma<>Ct7865 zVHXw@5)~5{U=V|u!N36b4+DcJLR1{VgnOTXK?or#j9@0`rsM!apMi&$kCmN`g^8Ji Klbef?mjM8#O55K6 diff --git a/.cache/clangd/index/fill_array.c.990BCC54FAB801D3.idx b/.cache/clangd/index/fill_array.c.990BCC54FAB801D3.idx deleted file mode 100644 index 2f4627e3c754862d4f5516ce7148ad921c5f826a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmWIYbaRtnVqkDi@vO*AElFfyU|THJM%G@M*puf&8 zyO6WbdH)|C20;b}0e)6~elP))fqwTg=uTx2{06Q zSnA3oBOt*cAqo?g5s>GU7lZL`pDp^p;ruNWs8@ztMhGTsEW7XX4uv)z_c<-p*X%MH75}yUtE-2tPG?X x1?D}x=ex4yOEwcf9|PPh1_pkxDPSTwHzfze<>uvOVPj=x5@P4z;$-Au003ysy6FG_ diff --git a/.cache/clangd/index/ft_atoi.c.AAC0C85CD5A3334A.idx b/.cache/clangd/index/ft_atoi.c.AAC0C85CD5A3334A.idx deleted file mode 100644 index 66378d70b984edc9c283e79cb5679c7e629ac588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmWIYbaP8!VqkDi@vO*AElFfyU|X;(#pt+CyjfQ`L5|-UzY5-b4|sjT~)rz z7u}bRurHE!V7bFuFVQ`d;rs7gUHOLjW-U>3SG~}W>xyz<6LBbwOiOKVzFs~{#fs~5 zL)nIjJ_6esi%JWooU;qs5-BuSr~c;R(?t_g;;mW)O4w}TO8$K5Ctlb7nPR<6EOV@MX71U z8-P5RJxo$4=F140aGD6g41w9kCgMS!38!E o0uJf##2JMcgkUaXU`WnQ$>9fbd3pI+*|TBt<=bESb98Mq`_Zy12%QIZCzKf0y!^P5!1OcSd>3R*|4Rm)`sj zUKn*q{%Gu_z44MWCNO6!n)JsrzNi!ywGSAjrqc$19}Bs>sX0 z$;8MYD!?ej%21S=R;&k9X<~bX>qcdi2qTXmpE#c^Oe2hDlmhDpDg=X~)SN^Rqqr!! wSR6<*3TEAOuzdCX#bga`=HPUS57yHf|9vc1{i!9%eoU08h%5-~a#s diff --git a/.cache/clangd/index/ft_calloc.c.10157C071BB8E972.idx b/.cache/clangd/index/ft_calloc.c.10157C071BB8E972.idx deleted file mode 100644 index 0c6e35d165a08227c7b808453e3a4afc8296f4d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmWIYbaPW+VqkDi@vO*AElFfyU|2}(IG;QZ;$sg@9#T5`t5$W zBU7yXn~~MQLe|sO$CmAkUdJH#;pnWyGdWCm-fr8vhiM;YcJ@`nwu(dNWmp%m@H7N2 z4_I_%g-^{gO$*;`8X{g6NoF32n!ZX|pEeghap9V0*HR;1J=Y`Z;rCbKzor?Vo44ZL z|Cs@&AND^sJMn1C`OYLy;kk?dwL2%j%bqf;-E+aDM?br^Zg#$RDZ$2*b5rzr1F6;4 zi`;GHC&d1%o_gO(EP>C>H2Vje)~&f*48@hXNs2&!TN*K(5c&6I4-bPd1A`zR8y~-r zKAS#211A$BgQx(b5GzAbYFhC!pvss>^V{D)yTrgKBPhZxA_&uHVta(^MrD);6OSOD z0G}947|4_3Q-Se36!n)JsrzLM)GN*?&IuEitvy%pWY*a&K)u3T!hAqWz<@_kj7tp8 zvw!?+m0QO8t&BW^LZU*lFhwvk7^T3jh6xv?<|KmH#YM@*;y{{F@a*}EAMQu7qlEV+=^78VtvT=)Wv2${;@G$c+003omzDNK7 diff --git a/.cache/clangd/index/ft_isalnum.c.9726620C3AA51CF7.idx b/.cache/clangd/index/ft_isalnum.c.9726620C3AA51CF7.idx deleted file mode 100644 index 88b194fa044e0f63ffc9dd036e819a2bbadc803c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmWIYbaPw9$iU#7;#rZKT9U}Zz`!5^#Kk2=nKyy-0-#*QoT-5u{g@4TzAiT~*wUQ* z?%3oTyGm9ZITo>VUyS}C&k2)5JUZ&1TR14F?b?$bS@%BDEGI91x8jm2<^1RyYmSNu zFn*Wv3obQ&@Nh%)1I7;%L&d+O-L(6$REn7^fz2eo$oQiL+wSF-?*6yjo=jA>JbTD1 zHSO~hJ;k6WlZ0(I+kCt!F7&iSZvTrL+sYTk-xu|6@JxZo8{a*G~DoUiE+G z!j*E)iN3m4j9EvoNnG_lvTk{>hYFL?n?$Zx?2A_0uD?(#|HJ+N>JrIm=?APYW%tH0 z6j$aZDFS_1pLpDD%IDZsJPg7N41#Qbr*LA+U*HA~`oDhabq|<>hB(;}+p!=j34FVdi5108t2=e*gdg diff --git a/.cache/clangd/index/ft_isalpha.c.28007DD25B0D54C8.idx b/.cache/clangd/index/ft_isalpha.c.28007DD25B0D54C8.idx deleted file mode 100644 index 2960b9359d59d88f45d40579c86086a3622d1228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmWIYbaV4#WMFVk@vO*AElFfyU|~%mwH^=Cq;d#cYx1oO^F(yM3KjDN*RfdhhZa zlbpu-@3r0X%U6G4`17ggL2+enl047{Z(_wGO$)!T;$h%tVBq6n;o$=lKp6-qN=+*k z2Qp#m7^TqVa}q%+i;I$rxq&nzACF>*-oiAtZww5{xhXk7QyI8?fK(ji=30UgNJbIfZ4lR@=4?_bJtag&bnl>bV19#KZeO==WTj+EMW?r zHTkIegZs7jA03y}+ROZJbJ3gP%G@M*pbzx-*KV3}=$kta13v=;9}f!;AD95jKtNGy zTCq5g2~)=?g)X0y2vS*Glw8aWq#5}HgYU9(?w@JPz>u7qk^?lAft#0?nT1n;gO#0) JiHnhk0RZO`dnW(@ diff --git a/.cache/clangd/index/ft_isdigit.c.FDF926DEC463B471.idx b/.cache/clangd/index/ft_isdigit.c.FDF926DEC463B471.idx deleted file mode 100644 index 40941b73cab57384392aacea02ff99add5f55d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmWIYbaV4#WMFVk@vO*AElFfyU|2uD-H*4L#PO6+$=*N2R z@+1>GrvLALi`n~yzvN;rD&{G!%uSL9`hex*uXV?tUOdjjz|X+I$HT(I2PS|r5Kxqw zRxA!=!qhQJq08qaf>ah4B^Pr8X-2+iO+T)*Su1TB7?N{Sa)72XaP#sqvv3MKz~r|fQO-(^ZmzP^e#nsM9k+Ulcs=BR(kS}%Du`cdK$&9n;t z;wu|i|K0trTQ_Ij1!mE0#Wls1xk>UsAAE1-3&@xuwVa26pMimohlPg^OaNsdpeQx1 zSRBZNsbiEvm(NKAsVpu^F6IW(jC_}6OXJe||LHI=BQ(Y?ZsCr(@%y|8d8Cr}>>Na+j&t!<_j0!_^YKX}*8%9W0YA zYvB0t=x(M?8k>zAKldJ{eH*`XM_pYa{!iyr1JewKtItA0b@=?|XZRhQw4V9XfyN&H zL-RhJ$#u~$=O@#I&KF9pyRyAE^Nh0Y&;49mdH?LJ@Ca(|Rh@jz=5o|m zdux+v_og0kYsk80diZzofn`f4cdIa6dOP27+N#;M9;-HfX`UT((!eU;deQHocLsO= z)tcVFp;BNNt^0SW$R7qq*GY?uD|3_Lfj+*{)^l#{-^yGb25|-kVObtoaWDat0RyMx zv{z^T_b%aK5CTf`@$pH437B*k|HP8!81wTy45C13H8wR~5mPo(UItDkMg~CvMiEwq zqSUnF3qa*DkLI_(e|Cw1QAXH+-GCRS(Zu!$*Nw_35f&a{K6XA{xOKt;i~{Tko~)^? zHQc4bT8vukFauzsOj0QBmJzmMvVz+JGYF^%1HX(=Bu&9@9jF0S(k2YHqzI@kGi6F7yEqiY) zD^?9#zHF-^chr~K*>85g+{E#mcTN4qsSz8zVmf&}I6qyyd3eHAj-vhd&pzaQvbij; zug&sPdfn+YjzT9mCi!-?o;-2y6La51>5`?>cU_m8+Py?}S>Wb_29f=7%OyU9UhcM= z)$*jo;#>U6?5xn$)^nc6Yu&i=;dr6=$_n8kC%w!gsaO9SSUfo=?XRrOq|-TF^PF$o zHD0+K2c-pN)&~>jW(wwi-Lvp*)&2M1tS-z{K_l*Nw_35k?+C zJ~cian0d0b=L(+8I=clZEX66s3sVg=EhiDgDK1Jb76;Odf?HpOI!!+i;>ak(AOu&& cker*6!w=;0^76B?af@)Vb8@ioF!M100EF{NFz=*$@|-;%xZj(6J2D>Jy)$ zHeOvCH|eX7o$1Yev$t(1xO<@L<*FN(0yfSrW1ho&-?I8e*NevY-*0E`VWWkL#hICi;QWMFO zD+{jNzi=(c<6}qgfAQw6E%u$aJ(|rIruaC&E42G+FZIUjb+3B87>mUdlkFDfReISr zHyT_V&hlBk_Gzxjec6I%m{j)m~oE!PMt}XpoT$!7s2=xELhgt`kKDC+fFbFd+ z2=cM;@d|0PYV$F0GBGlU3NQ+>G8Cnz725z+n%ExUx=|S=!o(xUr^jak*C;5!D8LTm z!DvP)uvtKDU{I8rlL%rI7bO>q18GLV8Qb(lCh+du!6?Ka1Xcnjl5z diff --git a/.cache/clangd/index/ft_memcpy.c.E00A74572EBFD6A6.idx b/.cache/clangd/index/ft_memcpy.c.E00A74572EBFD6A6.idx deleted file mode 100644 index 44e38fb3c8b9089ca4dec8964787afced521163f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460 zcmWIYbaOkx$iU#7;#rZKT9U}Zz`!5^#Kk2=ng4+FE1+D(oT-7f`G*Vy_RfFQ$QbY@ z`;u;u`7}O{99iY!vW`~!32$Atbo{?(qUoBXb$a*Z%hm7w$~VNsoT}n*+qm_TW<2+{ z9U-Qy^NnV|6v<4Af1R?gWb(}Y>k=xri@b4+-7vd=bq;g=_O$zH7a8y8nJd3(sQ1Wr zzhc<-Blx_f*8>(ChJLG7yGhSZ9Wj5?bUCB?=+a4it-LC_%lzDW>kRnj`W$@hc_~n? z#A(wd`78OEtAeIHVm(v9bDxclyR`u=jI1AoMSuvyGp`m?w)H%So~3Ia|$?an@Z zH=l<=n1Ml%kByICNQq5}pMjH!kwH{|QHYhHC^fCv2B^}+_6XOF$|w;g9zi}`K4Z8> zK>2_P;f1JJ4k`q^SYGmH^v2eb=x^o5F`q??R3w);A zM9)3lwWnJ%`hi4-+x*ol_V4tYxjQGJcJh;(vexI<9pU9*e024N^XwG%r2Y4MAMzgA zZIsp{)5IVA&&RP*K|s#s!HeGxI#RN68$M6F_@y_Xcaui1da6O0mccH^=q*}R?dq=b zuTBV_)F{uX3yu}rG{N8ET)cn|_m1K_m9KPnix_^{c)0TF|AGy^TT`?D9+<@NTjH7F zF`h6HRkjSWj19222LhM z1~CCfA=aYQwBib&QWM)FTsJDCM3{I4`7HSC;KmBd=*gJCOc8L}X?OPNyZMYVg7RGQ z!Z2Z&VkT6(Wds#C6~thQU^Jr?*cnjwF%+fdB!bw*MajkDK$=l7`rZn|8Lo1B7=;*w fV5%4xl5wrUVc_KZV@haP7W3xW)H>Uii7>RM)P-_J~ZEa!@f;g8wIoqU*|Fiez-a7@PwxvJMO=K_JQfgsx@;L_Zc2} z|7YT2rj!E=5~Wo&QeacyXW(RFWDpf#6k=s4N=+-a0je~yJ;HUPGD?JrN03i}PYte7P=HZ@ z9ma#vj8b5;fZD*IC^aV$#3(LGE*1yUjDk6t{xjq*+?Qt*Vh{o=0Tao&DLMQ=7B4S9 RD;u{67ds~h3lB3N0|2~or78db diff --git a/.cache/clangd/index/ft_putchar_fd.c.DCAE755DD8CFF5C2.idx b/.cache/clangd/index/ft_putchar_fd.c.DCAE755DD8CFF5C2.idx deleted file mode 100644 index 09b5458a7b4446c5b7bf2b50a01b9287cf86326f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmWIYbaPw6$iU#7;#rZKT9U}Zz`!5^#Kk2=nXiHL5ujYfoVfwJ^9~#EJXv0GVgkcL ziE5Jzy58*!cdewjRF67+<@jR2#q#sJMWOYQ;M-66Y$lYeB<|g{#kSwbwC1kaYVYf} z1EdzOlaA2;v@LQ9uL9FPt7;S1o`&|rb#3Mc%3t2;v06Ig-Ji%wEGY*#W|Z`qZgfk% z%-wr2yC`&F$fd~z6PGTwS)Rc)`RkL^zQ%Kt?4Nk1C#fIyti5<)>mpI>S)avQcZtEm2c<%TothsD^u|DU& z!LPs1)VrU1xy)D;TEM(PeC9re;>z44MWCM#yxqJwXUdviJPg7N41#>Dd_qDNtQJBH zoJ@=iq5_OUtPDk|X~lY=&=Fqw>!r(OcSadO0Y(8fm_``QCwaB_lEV*V@$&MsvT=)Wv2${;@G$c+005*2p>zNM diff --git a/.cache/clangd/index/ft_putendl_fd.c.EA696FEC111A6733.idx b/.cache/clangd/index/ft_putendl_fd.c.EA696FEC111A6733.idx deleted file mode 100644 index e18d38f57cdb14f39b1df41548eb0afa5d0f38ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmWIYbaT7L$iU#7;#rZKT9U}Zz`!5^#Kk2=nZJPaW1w8coVfuz^9~#EJY8OKVuHxT zh-#Ayy54OJcdewjRF6ApYFw% zx%Pb3_35HI@;`R%a@H1LIx_9;zVk&48*k?>`^5Li+0g&$5s624{4KQvSd#nv ze~rItK2J7c-!xBc(!oc$r>f%WuKu?>$&kE3YF+EIC1u5xxk-w^5ZIgNG@H+sn~Mh& zE`t25{6a!jtX4t{oJ@=iVgigptPDk|X~nKcDjB7~%77wZ@ZXK2Mc!L_KBJ7FAfq5J z%)A3{H!seavgQ|1Scp-G4<-yWEhiDAued0=SQ*3+1`%MuD9GvR)HYAdbpn%+FoO_G en1LZVHzkK3$mQkbXJz9SfGKC6Jz^r%eC2#6IIi)Wt6As89J^rMiC# zY*a#lOmi46J?YFTLZP9;lSI?i*u%|`Nb?FD9j|xk1$D!Ns1q) zM@CSVNfypyC`!#q1nDm>N-h=$(u{&;Po*WTId-!$3NZ-5OlDw6&P~bT2Xc9N`B~Yx OMYz~GIaqj@`4|A!)x2*2 diff --git a/.cache/clangd/index/ft_putstr_fd.c.452F9FEE2DC8D0E4.idx b/.cache/clangd/index/ft_putstr_fd.c.452F9FEE2DC8D0E4.idx deleted file mode 100644 index c41961e737c458258de993b2862395716e7db74f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmWIYbaUIs$iU#7;#rZKT9U}Zz`!5^#Kk2=nQwvgA)s8voVfwJ^9~#EJXv0GVuHxR zh-#Ayy54OJcdgjCRF6A-<Ycgv3&Pgp7Ra*w|+~m^_aw8r@e?#(txq+>`Ja^ z6Tf*GJ_jeQXWM$Qaf<&M+ozVtg6705SWw(ma_P^iely`}+5TsKzt@GXty*IFe_6ow zL;S~mA4%ot%v|zp;=0iK&Cbp@=VzUC{ni}F6S6s`dCz>NZL+d4DrpbunhsXp7XEwq zEC2NQ{{LQm$PM6J_Jn5-v+;|Waty_lxk-vZU;lUGXp#4pp3lP|%)lVX$I2%tWXWnN z$iT_O$RH}fD8$N8l$uuT3RHPSc;&B`E|=XIWdsEn1=wI3VKk!@ST|517<~E5e($(y z{z;H(J^^utRO-?nKul#@WpxySOlgFiC%0+*4ecn^Xr3kG+jr z?=0fe)p-~s7#M{4`1r)Z1W*PHc1Ep~G`iZR&%+=Dl-A(U5Cao1=`1x4t-C_*sXPqg zKxsK{IZ-eHldgW)>}RbTp2ou<3Y0cwH{};GVK?Dt;ACQC5ENh(VJ%8cD>ekigo*7D zt{at6B1}BOeC&L@a7PJiF>0~H+yE10l0tE!jIgbetv1Xmm|~zJkZWNskrDP}@#KRk zf;k(g2;^pjA~!`hxJfX@j8b5i!xS0I?)&^h$Z-pkjIchFJ{!zF8DS$vBUTtsw)R}X zlUZlCF!Ko8aM|#|^zsPXbJ-*Dym-6>U~-m53@1eXec8hZ^bd!vAk23EDN7t$59L1r z3cK;TiNS;!ic)hDL0XH8l8b?1&%h`w#_4zLb={EyMiFpAhnkz5o07v1Wb^X!v$AoE Oaj|o9u<$VRF#rIrG3>nn diff --git a/.cache/clangd/index/ft_strchr.c.0AEC7670B61A66CC.idx b/.cache/clangd/index/ft_strchr.c.0AEC7670B61A66CC.idx deleted file mode 100644 index ad84d12d7324ecffec9fbb6715eb6cade84077aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmWIYbaPwA$iU#7;#rZKT9U}Zz`!5^#Kk2=nQwvgVW3>aoT&l3^9~#EJXv0GVgk#; zh-#AyD3sMU748G%u}wCSGeY^Tz868N1B;TUUjahkRbo zRjT`^@Q&KNrcTw#J~uDbysA&j(D@zHvQ~p_)}}L>_vSNgla-B8NqbQDm*M*K126Wx z?9AJ`FY)c`v-e-yPxbo1H?48{cZTB1+$2SyuO08-&YkA7<|hv*EQI*j`1pl2*fjVV zIGGq31O*s{Ss98_(~9+gDrIZW6+D@Bb_*kqkTj<>FHi&wU{)CAeWbypOuYUl#88{gN28gj{yJ!6P&^T diff --git a/.cache/clangd/index/ft_strdup.c.6EC5C92AC323DA06.idx b/.cache/clangd/index/ft_strdup.c.6EC5C92AC323DA06.idx deleted file mode 100644 index b63e5744811fcb8512dfba4a6558bd5f73a46d3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmWIYbaOkw$iU#7;#rZKT9U}Zz`!5^#Kk2=nGb>V2B2KUoT&l3{g@qjzARs|z(c9> zY+R*~Xr_kJ#XvXd_i^uz*eO+;J30Nac0c4CFfr}eCL7~x2R=Q!`YmSDHP(JVvFzID zgP*P^v34}@7vAE(+S73RZCacA0d?`mJ&sFGu=FhFSl) z-7ackWfM!b@lWv&Ui4&3ij`GeS^I(`7oRr&UlN<%Yr5U!dA!+`$RCe)Xx<4r5$ZXs zucYp)y}8MixnUpQW=O19IVU*DMs;oJ|2&_< zwTF49*Q9KQ;>z44MW9d9bmVt%ZC+>31MghaVS`C!6d{<7aY zu9|-mWQd%wI!tp>YEB|ZNpVqfu{e-s6k?b7s0RWcvpWXlf diff --git a/.cache/clangd/index/ft_striteri.c.28BBB5646AC16566.idx b/.cache/clangd/index/ft_striteri.c.28BBB5646AC16566.idx deleted file mode 100644 index 0101813cfd18a3cc476f3061b86b97f9d94d3cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmWIYbaV4#WMFVk@vO*AElFfyU|YUOYZgG?B6IWXvI(BH2huel#Ng1;%Ty`$&(OE0Dr+eQ?RkIbIJ9X?! zW-T{pWqI#an-eKOwpA1<2RiTmr#mTkZF-AZ?VN6y7RbC187RXMBBk9E}+ zweJ1{|GD2^`75hc%k;&e)S$RBH%T7o10fHwkk`)~H}Wv>GcfS+u<{6i37`xF6s4vW zivyW3b&OKz@;QkhmBmHL#oR!ek&k1Sk@T(wD-9SJl5O9 IG4e0~0NKoSoB#j- diff --git a/.cache/clangd/index/ft_strjoin.c.81CF224EB2B0C0DE.idx b/.cache/clangd/index/ft_strjoin.c.81CF224EB2B0C0DE.idx deleted file mode 100644 index b135197646002d329471a7a76b515ab6465afbed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmWIYbaQ*e$iU#7;#rZKT9U}Zz`!5^#Kk2=neTw~ZJ=DmoT&k}`G*{MzWSd$z`!xT zT2i@G%bQ(gTi=TUy(hPRJM80L)$-%L@50d8eyNq)=G|*gopJu$u7@JUD|eU&>2BV) zX4TD|^Co>wW&FG{C)8Jz+kvI#Ti$)qtIT<3uLZX?=pXwnxYlFR`JZt|7>p8_L}p)B z$k|x>$)lEQ+Mf%HGJO@E3QPM}p4l$quNPoo>1riaXUsmkb8lz+x9m4rYqwM_*!cfg zz}koYkE}il?|F^$w*QV31ag)2d8ryWPOTG7JEcLAx@08pTX?O6g^aaa& z=|#IYzyDBc|Lgew>`+cShP|Q-42vsslN5oz=5I4w)pdTA0S_oFg!tI_1cZ&)j06}s znHU)a1sH`{8H!TVinD+!V;;?KfB)ao-f`9ZlT1KE{)CAeWbypOuYUl#88{gN28gj{yL0Os;1D diff --git a/.cache/clangd/index/ft_strlcat.c.8FB584B2E6F00754.idx b/.cache/clangd/index/ft_strlcat.c.8FB584B2E6F00754.idx deleted file mode 100644 index 236e5acb392f60329960934e42ccb0a1c509a77e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmWIYbaPW;VqkDi@vO*AElFfyU|CrstwM^}gAqi{n>ozvSA&w)gAbeP@?3@4cOS>=V~ zN#pmMu&1~Ene?ko2CbDx4C~W2=sZY!q;^pt=1h}~NBiYf|1T!Y&OZ6(WSVnB^9PZ~ ze+^$OI#Me?kz>Uzr`y%xiuY_k^W8t+`2SD%T2F)hEc+OwTUXXF6j$aZDFQ=b`WE5N zr|+$#c^HHl7zFv)`2>Yj*;NG@IGGq3L7CBniZ$j89P z2G=Oar^jc4;0Z7aup@YajDm0;Oq5XyY!A>#F!=J9{oZla{F5v)f+DOUd@xlqf?`}^ z!U&!Omjn_|o>yKBCI@t3P9n&t;-chYaUjho81Q~i(%t(B%#1<|LSRe4L~?FQ4nL5^ U%gfKo#x26d&dI^T!_3D301*1k4*&oF diff --git a/.cache/clangd/index/ft_strlcpy.c.D41441F6B29B55DE.idx b/.cache/clangd/index/ft_strlcpy.c.D41441F6B29B55DE.idx deleted file mode 100644 index b6878654643e36bec640e7eb649cf52dda10e583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 498 zcmWIYbaQ*f$iU#7;#rZKT9U}Zz`!5^#Kk2=nSX)wN1$BAoT-7k^9~#EJXxM`VuHxD zh~2Xr^CFE{UR=8vkYOpd%3a}<<86iiamU{&pSYr9^QhpsvPXoTU#jn3zefw7*61C1 z6mnIBIo)vcoQ$OTS=;6>JNby|xu{OPZ|jbW;*Y#`F=;yH&AD3|`Bh>2?XMAW4*Rm6 zAIl2rdfD{eGIIipQIk*G;|V8DTw9j@X0iE;wy;-W)ggM5%1$KDI#{qpZtpXR4+~!U zzUNi8l>PSB+$40R*Vm5Ze`gXx51l%;QM)%?eCu-sQN`XxV8UhAi{<7aYu9|<6QASXPQ$`4;3TRUf$RdW~qU2(6 vAk8RfX)ks1{=@Q}j6w`TV69*xIX5MTAIRe6KI51g|oKSR^=GZF~ZZ0_-pzjAoQVF{CIpClO>?aZz%yIFM%M qW3^3t#cS~LJtIE@KS%}wl5=c*>wBAhYdBbSQN8oMBFocfmr6uxd{}+Ex~<~2 zAANSI>~zRA=g>6yvoA{HCFXDAUcD4%JhFLH z*}7SlAFTJOg(+~jFdVdMJF~r{w>P?b{~y?m28(e>dUw0sZ5#3*Kz;7qmRiIX(FQ;e(2@NlDB7+=LSP_8f_* zE?boOF~dfPvGgnRn*B`&Bkn5RdsEx|?(@a?U-@f!KCqcIu5@Q8uFOqR1ct(6jyGo* zV}e%kfWk(IkBv`2*o@6gfPs^VkwH*^QJ9sXC^fA(3#c;Y(fs!J&n_`A$_RwLLyuud@x}iAqg%CIPc3}_It-w^G|||loL~j8C8^; zlL*pKT$Efa4x|}{>Wb~Qy!~q`&nV0w3^R&>AvrfChabr0<>hB(;}+#&=j34FVdi51 E0EO?l;s5{u diff --git a/.cache/clangd/index/ft_strncmp.c.130BC97847229322.idx b/.cache/clangd/index/ft_strncmp.c.130BC97847229322.idx deleted file mode 100644 index db1efb6a9dca2c59ac7a3513de4938406e479bee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmWIYbaOkv$iU#7;#rZKT9U}Zz`!5^#Kk2=nLmN_2cTTVoT&k}{)Y_&_RfE_(7C(H zPG*}&POMc(QgY9o?#mHh-BYba7rm-iXVKyij(sZj^~I<5OWU0bi}JRrzf{V0ugozLId^UHbxSs@OuJXjCy)5G zJOAeOUAkmazsa|H!w}6MlXrC5R0w-5GkG#^S@8eG3)h+KTyo%_ie$!#%vFW&-UNnj z+1@y#@wINrwVAVCygOrEvz`6_kNUMnO}wmj4E`IIA7m)5%uP}RhQPh&ovRz?bk*=M z2s1DU^0Dyo32Cuv@iTBTF*1k>Fbc6U6s4vW+W=LX*dF1!Q5hw|#3RV3&u0qPC@8=v zzz*ZVXhtcpSwL-IP?VaJ2x1f$B^QeWX-2^;jc5Fm1a;mq3NZ+Qm4J!l+>{)CAd8om SpOuYUgo~Y%gN28gj{yJ{`K&|$ diff --git a/.cache/clangd/index/ft_strnstr.c.36ECF862C023E04A.idx b/.cache/clangd/index/ft_strnstr.c.36ECF862C023E04A.idx deleted file mode 100644 index 567076cd789ab9958d159b8f2996ee0b01c9b95a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmWIYbaS&{VqkDi@vO*AElFfyU|m)3WY>VpX?ESy1_{#fvgb5@&tUX>0!cqO^-K ze(TNGbA2;B+GD>zowX`t>8`_`|K}WB)v~&Cc7|KNv)_qise-t#_O>^ktEJ9cm!8US z{K#gWiw93{I&_WIgw1DfUCZb41?4H(M`owrKTvD`>(GCW&=!8N4eQGoiYs%I6oDb) zVsh?BXp}%J4=8+u_}KUagmu|;1sFJ)7#Rcw7=>9Gic-^xR|8d=*dF1!Q5hw|!Xw0I z#%BZ9C?vorz>eSvG72K`gcyb3ynD|(S2xb-s$rB7l4h3{glU1%j8b6hfi{7GZ0)&% zC$r9OVdN2#=alD#34i&^e($(y{z)boAyGb2ahPTqAu(<-5f~5X=A1;3j^d)^VsRkN tD72u;le2GG&@V<|24R?43=GM+DLMQ=E-x=XD;u{c7ds~h3lB3N0|3}1%V7Wj diff --git a/.cache/clangd/index/ft_strrchr.c.E1F60C7C5D981483.idx b/.cache/clangd/index/ft_strrchr.c.E1F60C7C5D981483.idx deleted file mode 100644 index b9ef1a2e30711ddb3c8059fed012d462e14e24bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmWIYbaPwA$iU#7;#rZKT9U}Zz`!5^#Kk2=neTw~aiCnqoT&l3^9~#EJXv0GVgk#; zh-#AyD3sMU748G%u}wCSGeY^Tz868N1B;TUUjahkRbo zRjT`^@Q&KNrcTw#J~uDbysA&j(D@zXa-%D0f#zwM$A2{wZeKj;n#A_*I)A}m&Yp9# z=eq v18GK~gC!4lWjnJzV-#i(hN)s;NX|{k;RkYgdHGq{xJ9|xIXPH(nE4n0;o6xC diff --git a/.cache/clangd/index/ft_strtrim.c.5C1F726DF93A8E5D.idx b/.cache/clangd/index/ft_strtrim.c.5C1F726DF93A8E5D.idx deleted file mode 100644 index 54c499c25119906e41d0216e416a2d620948e403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmWIYbaPw8%)sEB;#rZKT9U}Zz`!5^#Kk2=ne2=V4D3t{3>9;x2HNHya^U&ufARoB zhqbw+a;cU#`;t7_#gB_72!C(PVc+WX=eydHQ10N!KRT~%_p3`k+gu!Zdrkz`ZAqzr>-^ASIn;Ro$u>a}WF6&cFQ<%O={V7x5#k}?An)Xj@ukN-Ogt$-1Ji@QYe5&cx zf)j=BPFh{9sye3U-o7w@YNoG?>?TvjN`rzKes)PFbA;u3ZD;IF-g0nB?QdS+&{skB z4G87mvUeGI>6ZQRRH zT$!6R7Z@(VR;Q)poT9>b7=#!YgvI&9#lQqm1`O;y!N*^C7kIGGq31O*sHSQ&~^(~2hpV=d;<{Py?HE-^652>Y=6@WM2j*dF1! zQ5hw|&Lb?&F3t=0i?ABI8ZX>(VGTwNb_CCe(TE-HZea&T2X>foJi?BQjz~NwMkhEA zW;T-)O8CeKd$W7WsQ!FiTO3@1eXec1yH zKTj@CVVHYi)&ea6MGj1_jIbA{7hDlcF{2bXieQR>ag&n>;uIGp7XxFTfl>H~o61>D lZlisSBH%0sRhgWdlEV*V^YZeuvT=)Xv2${;@G$c+008+kA6fta diff --git a/.cache/clangd/index/ft_substr.c.0C3EC6A520E9C29F.idx b/.cache/clangd/index/ft_substr.c.0C3EC6A520E9C29F.idx deleted file mode 100644 index 4ab18e2b86c4b3a454e2ed50a352025237d9b910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmWIYbaT^VVqkDi@vO*AElFfyU|s_N^8O{co+vs+F*?JNIVYz3WD6!jG@IXjmXr6{NDQ zM(fC{2y@E~vdu4Bc|8k)rc67Sd-&VgEuI#_e$o;D9k@SE*E+&_qhX4I{G7LKA$|(q zf8UjnbF|ZZ{w$+IsrJcr7p^62l8%!e&hV7J8NKVUW>vG^_n@z*l3y+gk^KJy{0y8-j0}PTjKZu8MX71UbAc*j9?frm|LhV2 zql}O=x3nNkqlxVit{at6BFsEOe8zm1Fkv1c0Y(9K1W$-j2+otOJy-B#*4ZsgJVK&e zqI^KJ!GK3dmP;1S`|_9l-f`9ZlR)dlIK_luCc$V%DX?Q!Y z(^^Yrt_6%$Yp%sA`JF7^64AG$)@hzaaDZ^wD(>nfMV>Q_!nMB~{B-Vlgy)pgmA{rf zwrEkz$+-K!C`0Cf|Kod0o<~HfzAs&PeD(j67w+_(y|V6NGsD+c{gPL`k0mY%)>2_A zzO+NNYS(-BKUU2LWhK;$JBllFljMOu@Cx#&3UZuuf`@^hfq{>Qg@+GJ0A(PcC^fBE z9LR*JW0XRd&q)NSEG|ke<_6M?d~JTCsKcO*dA$&3=>b*Ppn{OuAO4+?qlxnhq>BQG3ql>NG6BoY)+Gz})P1z}@cp zPu0b2A_tgWM0uA7&RMkoLeQj1UpXruxg6};5Ey%7>L*(@uNd!TQ=c9SU#oKLr&aCc zN|{3fWn13XTbl5FSpG3!iTc^KlfLh|@c8Qgl#IORVZU~*VrP7HRo*!5d&^;u=`%c8 zo@MM(uiEwA{g0J%BfnHk@s#4q+$4FR4-)rt&+`?V=)uFl&%nUP!@|P{CV(;!P?VZh zEDmJC)G}*V2 Hj64hgB1v){ diff --git a/.cache/clangd/index/game.c.B03695838049B596.idx b/.cache/clangd/index/game.c.B03695838049B596.idx deleted file mode 100644 index bdf0caba0120dbe8f78300a3115c3c7190aed8bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1102 zcmWIYbaQiKVPJ4h@vO*AElC728AO1%xTGjknvsFQg^7WoVoqFJ_v9slonFUY#exbcVW?dQ)o^R9ln^Ny6g&b&1rW%Oqs z{SI~6i#Gr0T<@qEu>P2E+JXw+_g^bt@-Q{c(%`GhkCScMJ z&XndYdA{p94}%m?T8~Fh98AEZKgAcce3GpA&ch%ClosF?kOUJjX@;WIv|?^xEW%vL zCd$4t#-m&63CK<61<`6!Z zUKz1S=14g2zZ*x3ytnjxE*UXJW<`FO!7^f+OqzTMo+* z%8uZ9FnO@Scwhdq-#f0Fe-ao_=6vSjFku)C3@A`+BLXUvITY?_ShNEbf#MvY$dbbn z9zkYZRvkQR&i@8l5X}<}*9%M&If)=0#YM@*`XB}<%R>O8n0tlqyZob77%JxU1|G~iWWe)v`IiHU z3PJ1d@@6hCyxI7PGS;{`RF+d9`87 zyeUU#%s=qr+p@!cuJ1ntUu?fs=(6e5+b^moc4@8tB)IwOl!LpPE}6gI@mM9cZ0a=& zJ=;4s*4TcP-7RAHW#iuXqkE=E+cLdLmdIUuw|vp6jfQ-k3tskKO%}e8^^xhao?~&6 zln7sPX130Hf%muhviEMw{qH`WP z&79J^WgZWM6i`~5M_Uw3z@%eizk0SP#_!}|5Ccj}vrCJD37E8r_V$ehDN|nZFh~QX z`Puo!!30eDAG`A7_sNI9@i52&r4xA*CBXztnxQB)t=OI!;Y(&Iuoq$SGLku*Il?eQ zWF#v%E8sj6+ap{zDx*ZWc_jH6_}SnNkrZSUWJmC%8Kl|Zevp)9lx0Wov>mkF;NF+i zWz=Oy@bnnMb7~PO~DU2!XFbBh;hEWO}FEC%hB7{i_B_d=b ziV{BU#B*3FrCjT>d~+ zTyzB!k7T4yq%q8P9?4Y3R1TPR#Qgtg~AG3PR##a%A!#NN3w;H ztA!ECoOVX8b_9Q-@ZpD37b)#zl#z_)i57r)3KqA(bOcJOFwR4U;-m?$t6fHDuv78%J_MvhjX zL!fydn2&N2L6XHq$;HYbhB$}-14hZO&IQ(?s?Sz3Nr*E@z=RnXl5g1MTTZR<->uq%kL&KJT@u+ zwk;%fYUodC&IowNsK#{qb=VU1WZo|KkPqWfRx@VA6M77R*pwnVXah3;~IP8kvJa^Er7K z*nvC{;E`mL6kyWV5d;Qg-v$(6U>H_E)Br(K7DI$g0b{@vMM*(>M6aoV zZEBj_Oe0M#v$$TkWMK<&b19R8urO0_DM6u(UeBC&fahVD?>GNB=RNC>^jV3Cm#hhi zTRLk^aY1>W86iXgzh&k6XXN7uc{HAoHG4nEXxDeT%D+8yV`p`L>AP3Y{#N(u;Ds`m zmTHquwT0R=qBx}DLBNtU?Pq%Zjo53Qy`3(~=eB+N$*t3GJ$<3xx3I7CyK%>t3CFk3@cvpla6I^YNbs8# zRcYzwrC&7oZ2n;P;qRqmdaH~TO?$hF%2Zd@Z+WezL+r@XzutSje%YM{$Ap}&u!b_a z;Ln9RrxWTu<%4s3Ua$+&MEd;t&Xxv`Q&BOWUzPbx(%+Gmukv}JJK3tlvCHZIo_{>- z&$T>X^1<%>pUvv8b%gr$37_@qdpb_)%RUE+L3+!%)qfj12=o_eRpWGzWlpWKZnblEmSI&vdu!nsa&JdSABFyCX@SXMbB#_1^mY zQwvgyu7~&Uf71VlwQG9zJxAu6wds@X-7>q)uI!iT;x^yix%H*@rkviFI%SbY{%=YO zh5SFqWvFak+&5Uc^T;m^akL}VcgLppqHd^yH+Jn*PP{+K?LmW6&Hjd80}i}3;q6D; z-u~ugZB4|r)XuC2CkKnI?7p1E5)Vz3Y6dGDjv5m&!vCn{1Z<{ zP%<9_31R{SLKTJRH~*{;895jU7g$s9}s2mzGHRHC7efvf5k-H}zk+qdXvXk2>*bA{R#N*Xp zKg?Vt-%Lpve&1j8hYCCdLj{WECpQe8Zr)DGlNitl8pW8&9!a#QaY=D}gOX*Kh!7%R zl*aQT*L@V--g_GoOEBRkxE_)LWPCLYN3*waEuE+(QZqF^>7oeV2(c5nDt zTkkh*l+43`qu@BE3MqZ|+Vt4n=P6l@0WZO8OyK?_^R714%Fiiz76UHkE>I?11MISz zZ@sI$I(vEtC7Boq6T{#p3AQmz)tpsTFWTPdg+LYt;)FQpBEo?WRP(%Vh2oz3MUkw7 z1yxupCb5^%1?}p;)9w{?`SdPuIWuAaubOPXpo)!BHdOK$#dp~izGxd*tbjpa!m#6vV*o03O>hkEo$ zMO30uPm(G?r5=6q3GxXy-XM~1pl_H_Lz17TpC8swCI4{$DC1or1W?*nm@vO*AElFfyU|_#ToSzx}Wu@4auxrP4#Gc-5V~oC7-El&9R^ky& zm6SHi4tqtrZ#VBbA3D44{M+~Sd#L-nMiCUVA9CM2KiieD0jS!R z(UuLS8b&ipVGRr>DU?8v5maSUg*)KC8%K-0xAc5w89^;3Ek2l0GJ=LohDbb1CQCSP z&kXhS$OY_6fj$(I5L1Bp&{%fg=O03jTY!$UW3+<@s%-7Kf+w@iZUL%R<5d%csV@2$ zDVQqGdV!fo(16201ZFRfpaq8o63?F9UKl2KcG-oTea`#;04*@(H5G>mGZdxfB!Y}B zE=n%81~G&{1Oy1f7z~Vp3gXg@pW2)!u?X-B2{Z7+Wf%ky%;emZ9FPnTFCQyA8w(RN L2PZcdBQFC0{(Ub( diff --git a/.cache/clangd/index/print_board.c.12D2F1C84CA68F4B.idx b/.cache/clangd/index/print_board.c.12D2F1C84CA68F4B.idx deleted file mode 100644 index aaf284d83f6b3d2ebf39d0564da2c7c205f1443e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmWIYbaUIl#K7R3;#rZKT9U}Zz`!5^#Kk2=nJSD73|AJm>tiA7Y3Vz=cD1c>;1KA)<*9S@MdI{RX}j+>R465%I;Hrd zVAXm}0S?YX%^Whde3M!)J!DkRm-G#55{X>XJ3Ym~PekJG8r`U_dk^P5;qH|Qlqy>M zOQ-hs72n!^*I$d9bD6iw&nuMg`d;@zB;@Twx0J`J+uj5nneh0_Z_Q&0>u;ze^gYzc zJd@*k`OyMdFV0P~6PNRrcl@8nby`*2>e!4ak78~AE+|R<_r)Y7<)8My>KmtTXnsEG zT(;|m#vEnw1#;d^CI19Iq>81j7v00`o^f5UxH31%0T^ap*END|yy^vb7{q{qD8MZs z4JLpxU~uoj)^&QvitBh7#DUTZtO^3c608ye44h1i3=)Ej!mLH9X~k!NN@3~84(?39S)eVjEDiV0TR!M#fTFjXU1%XBxlZK4mS>_hEWRaHK?B%ic)hDLG0q9 zu(7amar5#p H^D_Vdcnk8@ diff --git a/.cache/clangd/index/vector.c.CCEA61708CF10975.idx b/.cache/clangd/index/vector.c.CCEA61708CF10975.idx deleted file mode 100644 index 9acc47860566ff87d75e52017c895a654bd65f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2980 zcmY*b3s6+o8NNT)*i5D&&`?H zo%@~tzyIU=|8xJdX>BMpn#OSz+tzlsG}8H8n2%GotHYN2pIIJo zM?N^M`{c#?j-%mAU#6s)*ObOzH--LuF~#oan-*%W_e>j3HNP9&dLi%h;k;ihjS6zz zv-j<}rrYZn;_iI?on4m(dY|^U{BmR0(#199{Dsg(d&&8tSLz;aTqQw%>4gWT*Pr~u z_S-)Rz5ef&AGDsm{di#J(V5uU9b=yc_b&B4qYe#7mxT2XCvZjzFNW(FG=+6w#G-==TbSY?k|V-UjO_Ym!x2y-RGt;D|nT%DucRs^S$3} ze7kTi86oU7dM#85;h-m&ogfK^mxW6cZgHeAQo>NQAX>ywQ(;p{f<4?>*jbX`0{1~- zACx4L#{-Zz081Gj0`m|k497u*llvVs5{&LdyUrO@>@T0 z9CdhYdW3yOpNifrOO}Jagm77Y**z@A3Ri`fp-OwDi=l`!;$aa-?NJv)&Gu#&qrS`6 zmCLB_2Xnug+Ci`nf{W&c@E{Zo!U~3CV2`QgWMC4noa(uAggz? z&}?I<)883n)$g)(c^T>he;?~>g!>__A55(F1K=8fT!sfh7zCRdXAeRl!!ZzIYWWbP z4XN$LL5zc)>BnJ7T-|GNSR04UOg;?GVaQ>49K><3)82de*shT&S9pnlu)$!kGWsQ> zWM||U^+pq;1B=+g2#^i3m6az`dQrD!QGO9=ai`Xq=-0>VuQa}@d1DRP&e7$Nk#cv@ z{Kzp>PbURCWoJ4K+qN*i=qq2GT2_8Mu;K^gqgfyqklA;4A-qCbL8b{s8>9^?wAs4Z z&1Bo8Z7SJQ(o-rl0)`Pt#CPV6Hy=_qoa;zJ*rjzPvO)L-aJ&G1N;-`cYzw25dYZWR ztKNS+y?i%GIzyWwQ!QFXlC*lHD%d5vR7uazTx#h~D0Po>z5Ng=KS%$YF;DTIjK2_YSV@xe$}&D!5Nke4^^@)40Gx?=s14!U()Ky zWCd5C3XwWc@ED*m5NZAj9*5L%KomQAKWe@D+=r9N2)D^?2{z{ss;?h%sC9&6kQ0Ld z#nimU`mNi7f*lrzD!}>c1bs!pwQ{YS9vX#AJTwdznrYth!J9h_FHMm+6s?k=jeHW< zl-*CgA$$;w2f;;yZ@ck5L!(*qF{zqc>o!tiyzlp%N5wxoOSV1fo_lBjjh}q;U4QrL z^JLqhbtGy`BO+X@Z#D`}m(w$;N!!BJhgxcDe5`){xxH;`d+GdxJpZ?_0ROILYEkPU s-Lt%8lucaXro?e3s>5+c_PDiW+hg<1qt}VrMX4#gW^tMhB@5jD0P9=W6951J diff --git a/Makefile b/Makefile index 51fd717..2d91af3 100644 --- a/Makefile +++ b/Makefile @@ -52,9 +52,11 @@ $(LIBFT): clean: rm -rf $(P_OBJ) + $(MAKE) -C $(P_LIBFT) clean fclean: clean rm -f $(NAME) + $(MAKE) -C $(P_LIBFT) fclean re: fclean all diff --git a/alcu.map b/alcu.map deleted file mode 100644 index e7adaf8..0000000 --- a/alcu.map +++ /dev/null @@ -1,10 +0,0 @@ -2 -9 -10 -5 -9 -8 -2 -1 -8 -10 diff --git a/compile_commands.json b/compile_commands.json deleted file mode 100644 index f14c52c..0000000 --- a/compile_commands.json +++ /dev/null @@ -1,716 +0,0 @@ -[ - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/main.c", - "-o", - ".obj/main.o" - ], - "file": "src/main.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/fill_array.c", - "-o", - ".obj/fill_array.o" - ], - "file": "src/fill_array.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/check_input.c", - "-o", - ".obj/check_input.o" - ], - "file": "src/check_input.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/get_next_line.c", - "-o", - ".obj/get_next_line.o" - ], - "file": "src/get_next_line.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/print_board.c", - "-o", - ".obj/print_board.o" - ], - "file": "src/print_board.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/ai.c", - "-o", - ".obj/ai.o" - ], - "file": "src/ai.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/game.c", - "-o", - ".obj/game.o" - ], - "file": "src/game.c" - }, - { - "directory": "/home/lud-adam/Documents/rush", - "arguments": [ - "cc", - "-Wall", - "-Wextra", - "-Werror", - "-MMD", - "-Iinc/", - "-Ilibft/", - "-c", - "src/vector.c", - "-o", - ".obj/vector.o" - ], - "file": "src/vector.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_isdigit.o", - "-c", - "ft_isdigit.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_isdigit.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_isalpha.o", - "-c", - "ft_isalpha.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_isalpha.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_isalnum.o", - "-c", - "ft_isalnum.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_isalnum.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_isascii.o", - "-c", - "ft_isascii.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_isascii.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_isprint.o", - "-c", - "ft_isprint.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_isprint.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strlen.o", - "-c", - "ft_strlen.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strlen.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_memset.o", - "-c", - "ft_memset.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_memset.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_bzero.o", - "-c", - "ft_bzero.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_bzero.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_memcpy.o", - "-c", - "ft_memcpy.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_memcpy.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_memmove.o", - "-c", - "ft_memmove.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_memmove.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strlcpy.o", - "-c", - "ft_strlcpy.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strlcpy.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strlcat.o", - "-c", - "ft_strlcat.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strlcat.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_toupper.o", - "-c", - "ft_toupper.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_toupper.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_tolower.o", - "-c", - "ft_tolower.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_tolower.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strchr.o", - "-c", - "ft_strchr.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strchr.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strrchr.o", - "-c", - "ft_strrchr.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strrchr.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strncmp.o", - "-c", - "ft_strncmp.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strncmp.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_memcmp.o", - "-c", - "ft_memcmp.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_memcmp.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_memchr.o", - "-c", - "ft_memchr.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_memchr.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strnstr.o", - "-c", - "ft_strnstr.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strnstr.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_atoi.o", - "-c", - "ft_atoi.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_atoi.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_calloc.o", - "-c", - "ft_calloc.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_calloc.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strdup.o", - "-c", - "ft_strdup.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strdup.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_substr.o", - "-c", - "ft_substr.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_substr.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strjoin.o", - "-c", - "ft_strjoin.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strjoin.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strtrim.o", - "-c", - "ft_strtrim.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strtrim.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_split.o", - "-c", - "ft_split.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_split.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_itoa.o", - "-c", - "ft_itoa.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_itoa.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_strmapi.o", - "-c", - "ft_strmapi.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_strmapi.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_striteri.o", - "-c", - "ft_striteri.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_striteri.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_putchar_fd.o", - "-c", - "ft_putchar_fd.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_putchar_fd.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_putstr_fd.o", - "-c", - "ft_putstr_fd.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_putstr_fd.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_putendl_fd.o", - "-c", - "ft_putendl_fd.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_putendl_fd.c" - }, - { - "directory": "/home/lud-adam/Documents/rush/libft", - "arguments": [ - "cc", - "-MMD", - "-MP", - "-o", - "ft_putnbr_fd.o", - "-c", - "ft_putnbr_fd.c", - "-Wall", - "-Wextra", - "-Werror", - "-Ilibft.h" - ], - "file": "ft_putnbr_fd.c" - } -] diff --git a/inc/.cache/clangd/index/alcu.h.FC2EE915F1165072.idx b/inc/.cache/clangd/index/alcu.h.FC2EE915F1165072.idx deleted file mode 100644 index 46cf185e18763ac3d74cf52ae69bdaa2b1174027..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 946 zcmWIYbaPw9%)sEB;#rZKT9U}Zz`!5^#Kk2=nMRBZ3>HASiaC1&H|8By5O^AFlajIa zN_hI0TY7)FO4^EhnhrAMtnB^tzV*Qhzgax7RtFC5{(i4eruvr5YqyyJQ>tY;em6Aw z-A*dLV;Wa0$lsc|Gpx<;{F_<3m#KY_(`T$Z>NzdjNnL;YfpnpRySkq-{z(p9w^#0R zQR{5B?MF-VvyVANl$M;Fx3*aAr1*}>9}9y2n@>u8x@h-oAGZ||*=y4lY2Lr|O>p~` zTRYO!s(L0#c*yK9dMpyL+{BdO!tF)}|4*!{d;yu-0nPn2OvbAj*}hym(DA6D`jdjm zti3Tz_pgS=?rjRobxR0uHd4AJ_(S1x_o{#KUY@Vy!m73>Nu6Nf&-+vx#F%CHw{?EK zt+t8#^AE=I#Z60pZnoeqlM|DU?b);Sg-UVDq~%UI+q^dAZ^;(rE3V8Nj6C?22L(!24zu3Db}6^L37KF3(E2^C_&^Iq(s<71QaJ_$c|E9lgVLS}tFa@G)qJj*ZJgg7} z_a1Crr+2Klj)y@Jra+8M45)yE5#k23E~^fnHRpfxFz~|^NU%zWXu$qNj4q{JD-;XD)DBV0EsqeK{aq{NiPG-1w$g%Hq4aL7RQF5l2NeXl~GJ~Plr zAyFxKC`gG5i%Y`;O-f2oN)qOLm?+RBa1cUGf@uW`g98pK46`373=S@+uoC~NPiwOS zmN0Tj@pAIQ0*nC`hCtQeu!E|GSq&5hhZs~C7+yJvAa-$4ag1MTTZR<->uq%kL&KJT@u+ zwk;%fYUodC&IowNsK#{qb=VU1WZo|KkPqWfRx@VA6M77R*pwnVXah3;~IP8kvJa^Er7K z*nvC{;E`mL6ky=9}f4Hw&{d&Va+L1aONA`ok!;MhKPI7$aJ2z)mY$ZD&wNMS}*H z5G}<1z^Fe&Q?W%-YgV%|R5RaA6(n;J zGcCiVrop3uWOM6SWli1k!gHhd`d&TcCtt=VpWl7#&g-Gj#n?5+G^xP9dMNj^rk$<% zrM^#|xou|)S45Zi^<8f@EBNJCosQeJQyotqk68!0S~S)5>c*i4muGj$7l%H*8feS< z=KJDBO;_i(-MNr|yn9vDS0;tpr&ZPDKL7Pi?}LtjE15WUAavV$WpK|A@^7lG9nDsV zZ)m7~gMIg2I$Pd1{ogbWb}KNq#%&M)TD%vI8&`5wKmTG)=a7zarY4gMAo*p@mgbxH zXBahL0bmZ3!y^E6VzG*`yXV(=d%Qt62MO1^bS^G{)-UaO+n=Z_F5sXw0}Dt2s{oS! z>8@S5qvh@-4o;MPCZAgX$z3P5cJxnNJlOylc)Hi+ohV@Z^h4J>jg`8B861qbJ}3pP z0%-lsbG=`B77aFXFrXaLg=_*yJ~BG6_VCznLIwwb#>HG_mdEnUpi`^Bm4=tAcwTkE zUa@|YK}iFfkT$_AVEp`3bDnPgueER+2OS;|mcn)cbU=RLuK(9qj`nllDCbByHUT8Z zUQ}43PWBfEJ<1U&k|BWP=-;oGMH2Ip9AuRJlHV?XKsrO4fu5!Yr2uIq0#r@z>+~ttKUB*s$B~moPb)LO)1OUGC9{An z;GxrH7PJLDlo6SQ9HA_Vgv`Rua5niTvxq(7B|l`AXUWT?bkKV2P6-%w_vre};)|1J ze~YwPYc|teXn&-Yyiql6rpio3>_a&POs!7^>*E!DDj%n3p(b%lC1JE>=W6eZ!9U85 zAZ^qc@$Z=$^e{*(fum}=8`4V9hz<^HOv*(+-9p-=HGOoO-V #include +#include -char *read_file(int fd); -bool check_input(t_vector* lines); -void print_board(int *game_state, size_t nb_line); -bool fill_vector(t_vector* lines, int fd); -int ai(int *gamestate, int nb_line); -void game(int *lines, int size); -int* fill_array(t_vector* lines, int* size); +char *read_file(int fd); +bool check_input(t_vector *lines); +void print_board(int *game_state, size_t nb_line); +bool fill_vector(t_vector *lines, int fd); +int ai(int *gamestate, int nb_line); +bool game(int *lines, int size); +int *fill_array(t_vector *lines, int *size); #endif diff --git a/inc/vector.h b/inc/vector.h index e0118ee..895b1e8 100644 --- a/inc/vector.h +++ b/inc/vector.h @@ -10,37 +10,40 @@ /* */ /* ************************************************************************** */ -#ifndef VECTOR_H -# define VECTOR_H +#ifndef VECTOR_H +#define VECTOR_H +#include #define VECTOR_INIT_CAPACITY 6 -#define UNDEFINE -1 +#define UNDEFINE -1 #define SUCCESS 0 -#define VECTOR_INIT(vec) t_vector vec;\ - vector_init(&vec) - -typedef struct s_vector_list -{ - void **items; - int capacity; - int total; -} t_vector_list; +typedef struct s_vector_list { + void **items; + int capacity; + int total; +} t_vector_list; typedef struct s_vector t_vector; -struct s_vector -{ - t_vector_list vector_list; /**< List to store vector elements */ - int (*pfVectorTotal)(t_vector *); /**< Retrieves the total number of elements in the vector */ - int (*pfVectorResize)(t_vector *, int); /**< Resizes the vector to a new capacity */ - int (*pfVectorAdd)(t_vector *, void *); /**< Adds an element to the vector */ - int (*pfVectorSet)(t_vector *, int, void *); /**< Sets an element at a specific index in the vector */ - void *(*pfVectorGet)(t_vector *, int); /**< Retrieves an element from the vector */ - int (*pfVectorDelete)(t_vector *, int); /**< Deletes an element from the vector */ - int (*pfVectorFree)(t_vector *); /**< Frees the memory allocated for the vector */ +struct s_vector { + t_vector_list vector_list; /**< List to store vector elements */ + int (*pfVectorTotal)( + t_vector *); /**< Retrieves the total number of elements in the vector */ + int (*pfVectorResize)(t_vector *, + int); /**< Resizes the vector to a new capacity */ + int (*pfVectorAdd)(t_vector *, void *); /**< Adds an element to the vector */ + int (*pfVectorSet)( + t_vector *, int, + void *); /**< Sets an element at a specific index in the vector */ + void *(*pfVectorGet)(t_vector *, + int); /**< Retrieves an element from the vector */ + int (*pfVectorDelete)(t_vector *, + int); /**< Deletes an element from the vector */ + int (*pfVectorFree)( + t_vector *); /**< Frees the memory allocated for the vector */ }; -void vector_init(t_vector* v); +bool vector_init(t_vector *v); #endif diff --git a/map_gen.sh b/map_gen.sh deleted file mode 100755 index ad8eaf3..0000000 --- a/map_gen.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -if [ $# -lt 2 ]; then - echo "usage: bash map_gen.sh [size] [range]" - exit 1 -fi - -unset var -for i in $( seq 1 $1 ) -do - var+="\n$(( RANDOM % $2 + 1))" -done -var="${var}\n"; -echo -e $var | tail -n +2 - diff --git a/src/fill_vector.c b/src/fill_vector.c index e8c830c..b5e1982 100644 --- a/src/fill_vector.c +++ b/src/fill_vector.c @@ -15,37 +15,43 @@ #include "get_next_line.h" #include "alcu.h" +#include -bool fill_vector(t_vector* lines, int fd) -{ - char *line; +bool fill_vector(t_vector *lines, int fd) { + char *line; - line = get_next_line(fd); - while (line != NULL) - { - lines->pfVectorAdd(lines, line); - line = get_next_line(fd); - } - return (true); + line = get_next_line(fd); + if (!line) + return (false); + while (line != NULL) { + if (!ft_strncmp("\n", line, ft_strlen(line))) { + free(line); + return (true); + } + if (lines->pfVectorAdd(lines, line) == UNDEFINE) { + free(line); + return (false); + } + line = get_next_line(fd); + } + return (false); } -int* fill_array(t_vector* lines, int* size) -{ - int* res; - int i; - char* line; +int *fill_array(t_vector *lines, int *size) { + int *res; + int i; + char *line; - i = 0; - line = NULL; - *size = lines->pfVectorTotal(lines); - res = malloc(sizeof(int) * *size); - if (!res) - return (NULL); - while (i < *size) - { - line = (char*)lines->pfVectorGet(lines, i); - res[i] = ft_atoi(line); - i++; - } - return (res); + i = 0; + line = NULL; + *size = lines->pfVectorTotal(lines); + res = malloc(sizeof(int) * *size); + if (!res) + return (NULL); + while (i < *size) { + line = (char *)lines->pfVectorGet(lines, i); + res[i] = ft_atoi(line); + i++; + } + return (res); } diff --git a/src/game.c b/src/game.c index b517dbf..838b36c 100644 --- a/src/game.c +++ b/src/game.c @@ -14,105 +14,94 @@ #include "alcu.h" #include "get_next_line.h" -static int check_char_int(char *str) -{ - int i; +static int check_char_int(char *str) { + int i; - i = -1; - while (str[++i] && i < 100) - if (!(str[i] >= '0' && str[i] <= '9') && str[i] != '\n') - return (0); - return (1); + i = -1; + while (str[++i] && i < 100) + if (!(str[i] >= '0' && str[i] <= '9') && str[i] != '\n') + return (0); + return (1); } -static int play_choice(int *line, int choice) -{ - if (choice > 0 && choice < 4) - { - if (choice > *line) - { - ft_putstr_fd("-\nInvalid choice\n", 1); - return (0); - } - *line -= choice; - return (1); - } - else - { - ft_putstr_fd("-\nInvalid choice\n", 1); - return (0); - } +static int play_choice(int *line, int choice) { + if (choice > 0 && choice < 4) { + if (choice > *line) { + ft_putstr_fd("-\nInvalid choice\n", 1); + return (0); + } + *line -= choice; + return (1); + } else { + ft_putstr_fd("-\nInvalid choice\n", 1); + return (0); + } } -static void player_turn(int *line) -{ - char *temp; - int choice; +static bool player_turn(int *line) { + char *temp; + int choice; - while (1) - { - ft_putstr_fd("\nPlease choose between 1 and 3 items\n", 1); - temp = get_next_line(0); - if (temp && ft_strlen(temp) > 0) - { - if (!check_char_int(temp)) - { - free(temp); - continue ; - } - choice = ft_atoi(temp); - if (play_choice(line, choice)) - break ; - } - else - ft_putstr_fd("-\nInvalid choice\n", 1); - if (temp) - free(temp); - } - if (temp) - free(temp); + while (1) { + ft_putstr_fd("\nPlease choose between 1 and 3 items\n", 1); + temp = get_next_line(0); + if (!temp) + return (false); + if (temp && ft_strlen(temp) > 0) { + if (!check_char_int(temp)) { + free(temp); + continue; + } + choice = ft_atoi(temp); + if (play_choice(line, choice)) + break; + } else + ft_putstr_fd("-\nInvalid choice\n", 1); + if (temp) + free(temp); + } + if (temp) + free(temp); + return (true); } -static void play_turns(int *lines, int i, int *ai_turn, int size) -{ - int choice; +static bool play_turns(int *lines, int i, int *ai_turn, int size) { + int choice; - while (lines[i] != 0) - { - ft_putstr_fd("\n------------------------------\n", 1); - if (!*ai_turn) - { - print_board(lines, size); - player_turn(&lines[i]); - } - else - { - print_board(lines, size); - ft_putstr_fd("\n", 1); - choice = ai(lines, size); - ft_putstr_fd("AI play ", 1); - ft_putnbr_fd(choice, 1); - ft_putstr_fd("\n", 1); - lines[i] -= choice; - } - *ai_turn = *ai_turn == 0; - } + while (lines[i] != 0) { + ft_putstr_fd("\n------------------------------\n", 1); + if (!*ai_turn) { + print_board(lines, size); + if (player_turn(&lines[i]) == false) + return (false); + } else { + print_board(lines, size); + ft_putstr_fd("\n", 1); + choice = ai(lines, size); + ft_putstr_fd("AI play ", 1); + ft_putnbr_fd(choice, 1); + ft_putstr_fd("\n", 1); + lines[i] -= choice; + } + *ai_turn = *ai_turn == 0; + } + return (true); } -void game(int *lines, int size) -{ - int ai_turn; - int i; +bool game(int *lines, int size) { + int ai_turn; + int i; - ai_turn = 1; - i = size - 1; - while (i >= 0) - { - play_turns(lines, i, &ai_turn, size); - i--; - } - if (!ai_turn) - ft_putstr_fd("AI win ! It will replace you\n", 1); - else - ft_putstr_fd("You win ! Well done\n", 1); + ai_turn = 1; + i = size - 1; + while (i >= 0) { + if (play_turns(lines, i, &ai_turn, size) == false) + return (false); + i--; + } + if (!ai_turn) + ft_putstr_fd("AI win ! It will replace you\n", 1); + else + ft_putstr_fd("You win ! Well done\n", 1); + return (true); } diff --git a/src/get_next_line.c b/src/get_next_line.c index 41fc314..ea11359 100644 --- a/src/get_next_line.c +++ b/src/get_next_line.c @@ -10,129 +10,116 @@ /* */ /* ************************************************************************** */ -#include "../libft/libft.h" #include "get_next_line.h" +#include "../libft/libft.h" -size_t ft_strlen_with_c(char *str, char c) -{ - size_t i; +size_t ft_strlen_with_c(char *str, char c) { + size_t i; - i = 0; - if (!str) - return (0); - while (str[i] && str[i] != c) - i++; - return (i); + i = 0; + if (!str) + return (0); + while (str[i] && str[i] != c) + i++; + return (i); } -size_t detect_newline(char *str) -{ - size_t i; +size_t detect_newline(char *str) { + size_t i; - i = 0; - if (!str) - return (0); - while (str[i]) - { - if (str[i] == '\n') - return (1); - i++; - } - return (0); + i = 0; + if (!str) + return (0); + while (str[i]) { + if (str[i] == '\n') + return (1); + i++; + } + return (0); } -static void fill_line(char *line, char *c_remaining, char *src, size_t *index) -{ - size_t i; - size_t j; +static void fill_line(char *line, char *c_remaining, char *src, size_t *index) { + size_t i; + size_t j; - i = 0; - j = 0; - while (c_remaining && c_remaining[i]) - { - line[i] = c_remaining[i]; - i++; - } - while (src[j] && src[j] != '\n') - { - line[i + j] = src[j]; - src[j] = 0; - j++; - } - if (src[j] == '\n') - line[i + j] = '\n'; - *index = j; + i = 0; + j = 0; + while (c_remaining && c_remaining[i]) { + line[i] = c_remaining[i]; + i++; + } + while (src[j] && src[j] != '\n') { + line[i + j] = src[j]; + src[j] = 0; + j++; + } + if (src[j] == '\n') + line[i + j] = '\n'; + *index = j; } -char *build_line(char *src, char *c_remaining, size_t *index) -{ - char *line; - size_t size; - size_t is_jump; +char *build_line(char *src, char *c_remaining, size_t *index) { + char *line; + size_t size; + size_t is_jump; - is_jump = detect_newline(src); - size = ft_strlen_with_c(src, '\n') + ft_strlen_with_c(c_remaining, '\0') - + is_jump + 1; - line = ft_calloc(size, sizeof(char)); - if (!line) - { - free(c_remaining); - return (NULL); - } - if (!src) - return (NULL); - fill_line(line, c_remaining, src, index); - if (c_remaining) - free(c_remaining); - return (line); + is_jump = detect_newline(src); + size = ft_strlen_with_c(src, '\n') + ft_strlen_with_c(c_remaining, '\0') + + is_jump + 1; + line = ft_calloc(size, sizeof(char)); + if (!line) { + free(c_remaining); + return (NULL); + } + if (!src) + return (NULL); + fill_line(line, c_remaining, src, index); + if (c_remaining) + free(c_remaining); + return (line); } -static void read_file(int fd, char *buffer, ssize_t *nb_read) -{ - *nb_read = read(fd, buffer, BUFFER_SIZE); - if (*nb_read < 0) - return ; - buffer[*nb_read] = '\0'; +static void read_file(int fd, char *buffer, ssize_t *nb_read) { + *nb_read = read(fd, buffer, BUFFER_SIZE); + if (*nb_read < 0) + return; + buffer[*nb_read] = '\0'; } -static char *get_the_line(int fd, char *buffer) -{ - char *line; - size_t i; - ssize_t nb_read; +static char *get_the_line(int fd, char *buffer) { + char *line; + size_t i; + ssize_t nb_read; - i = 0; - nb_read = 0; - line = NULL; - if (buffer[0] != '\0') - { - line = build_line(buffer, NULL, &i); - if (!line) - return (NULL); - ft_memcpy(buffer, buffer + i + 1, ft_strlen_with_c(buffer + i, '\0')); - } - while (detect_newline(line) == 0) - { - read_file(fd, buffer, &nb_read); - if (nb_read < 0) - return (free(line), NULL); - if (nb_read == 0) - break ; - line = build_line(buffer, line, &i); - ft_memcpy(buffer, buffer + i + 1, ft_strlen_with_c(buffer + i, '\0')); - } - return (line); + i = 0; + nb_read = 0; + line = NULL; + if (buffer[0] != '\0') { + line = build_line(buffer, NULL, &i); + if (!line) + return (NULL); + ft_memcpy(buffer, buffer + i + 1, ft_strlen_with_c(buffer + i, '\0')); + } + while (detect_newline(line) == 0) { + read_file(fd, buffer, &nb_read); + if (nb_read < 0) + return (free(line), NULL); + if (nb_read == 0) + break; + line = build_line(buffer, line, &i); + ft_memcpy(buffer, buffer + i + 1, ft_strlen_with_c(buffer + i, '\0')); + } + return (line); } -char *get_next_line(int fd) -{ - static char buffer[BUFFER_SIZE + 1] = ""; - char *line; +char *get_next_line(int fd) { + static char buffer[BUFFER_SIZE + 1] = ""; + char *line; - if (fd < 0 || BUFFER_SIZE <= 0) - return (NULL); - line = get_the_line(fd, buffer); - if (!line) - return (NULL); - return (line); + if (fd < 0 || BUFFER_SIZE <= 0) + return (NULL); + line = get_the_line(fd, buffer); + if (!line) + return (NULL); + return (line); } diff --git a/src/main.c b/src/main.c index 1499304..277ce9a 100644 --- a/src/main.c +++ b/src/main.c @@ -16,51 +16,54 @@ #include #include -static int get_fd(int argc, char **argv) -{ - if (argc == 2) - { - return (open(argv[1], O_RDONLY)); - } - else if (argc == 1) - return (0); - else - return (-1); +static int get_fd(int argc, char **argv) { + if (argc == 2) { + return (open(argv[1], O_RDONLY)); + } else if (argc == 1) + return (0); + else + return (-1); } -int main(int argc, char *argv[]) -{ - int fd; - int size; - int* lines_int; - VECTOR_INIT(lines); +int main(int argc, char *argv[]) { - fd = get_fd(argc, argv); - lines_int = NULL; - size = 0; - if (fd < 0) - { - ft_putstr_fd("ERROR", 2); - return (1); - } - fill_vector(&lines, fd); - if (check_input(&lines) == false) - { - lines.pfVectorFree(&lines); - ft_putstr_fd("ERROR", 2); - return (1); + int fd; + int size; + int *lines_int; + t_vector lines; - } - lines_int = fill_array(&lines, &size); - if (!lines_int) - { - lines.pfVectorFree(&lines); - ft_putstr_fd("ERROR", 2); - return (1); - } - game(lines_int, size); - close(fd); - free(lines_int); - lines.pfVectorFree(&lines); - return (0); + if (vector_init(&lines) == false) { + ft_putstr_fd("ERROR\n", 2); + return (1); + } + fd = get_fd(argc, argv); + lines_int = NULL; + size = 0; + if (fd < 0 || fill_vector(&lines, fd) == false) { + lines.pfVectorFree(&lines); + ft_putstr_fd("ERROR\n", 2); + return (1); + } + if (check_input(&lines) == false) { + lines.pfVectorFree(&lines); + ft_putstr_fd("ERROR\n", 2); + return (1); + } + lines_int = fill_array(&lines, &size); + lines.pfVectorFree(&lines); + if (!lines_int) { + lines.pfVectorFree(&lines); + ft_putstr_fd("ERROR\n", 2); + return (1); + } + close(fd); + if (open("/dev/tty", O_RDONLY) < 0 || game(lines_int, size) == false) { + free(lines_int); + ft_putstr_fd("ERROR\n", 2); + return (1); + } + if (fd != 0) + close(fd); + free(lines_int); + return (0); } diff --git a/src/vector.c b/src/vector.c index 08769ee..51366b8 100644 --- a/src/vector.c +++ b/src/vector.c @@ -12,6 +12,7 @@ #include "vector.h" #include "libft.h" +#include #include #include @@ -23,140 +24,117 @@ int vector_delete(t_vector *v, int index); int vector_free(t_vector *v); int vector_total(t_vector *v); -void vector_init(t_vector *v) -{ - v->pfVectorTotal = vector_total; - v->pfVectorResize = vector_resize; - v->pfVectorAdd = vector_push_back; - v->pfVectorSet = vector_set; - v->pfVectorGet = vector_get; - v->pfVectorFree = vector_free; - v->pfVectorDelete = vector_delete; - v->vector_list.capacity = VECTOR_INIT_CAPACITY; - v->vector_list.total = 0; - v->vector_list.items = malloc(sizeof(void *) * v->vector_list.capacity); - if (!v->vector_list.items) - { - ft_putstr_fd("Memory allocation failed in vector_init\n", 2); - exit(EXIT_FAILURE); - } +bool vector_init(t_vector *v) { + v->pfVectorTotal = vector_total; + v->pfVectorResize = vector_resize; + v->pfVectorAdd = vector_push_back; + v->pfVectorSet = vector_set; + v->pfVectorGet = vector_get; + v->pfVectorFree = vector_free; + v->pfVectorDelete = vector_delete; + v->vector_list.capacity = VECTOR_INIT_CAPACITY; + v->vector_list.total = 0; + v->vector_list.items = malloc(sizeof(void *) * v->vector_list.capacity); + if (!v->vector_list.items) { + ft_putstr_fd("Memory allocation failed in vector_init\n", 2); + return (false); + } + return (true); } -int vector_total(t_vector *v) -{ - int totalCount = UNDEFINE; - if(v) - { - totalCount = v->vector_list.total; - } - return totalCount; +int vector_total(t_vector *v) { + int totalCount = UNDEFINE; + if (v) { + totalCount = v->vector_list.total; + } + return totalCount; } -int vector_resize(t_vector *v, int capacity) -{ - int status = UNDEFINE; - if(v) - { - void **items_copy = malloc(sizeof(void *) * capacity); - if (!items_copy) - return (status); - ft_memcpy(items_copy, v->vector_list.items, sizeof(void *) * v->pfVectorTotal(v)); - if (items_copy) - { - free(v->vector_list.items); - v->vector_list.items = items_copy; - v->vector_list.capacity = capacity; - status = SUCCESS; - } +int vector_resize(t_vector *v, int capacity) { + int status = UNDEFINE; + if (v) { + void **items_copy = malloc(sizeof(void *) * capacity); + if (!items_copy) + return (status); + ft_memcpy(items_copy, v->vector_list.items, + sizeof(void *) * v->pfVectorTotal(v)); + if (items_copy) { + free(v->vector_list.items); + v->vector_list.items = items_copy; + v->vector_list.capacity = capacity; + status = SUCCESS; } - return (status); + } + return (status); } -int vector_push_back(t_vector *v, void *item) -{ - int status = UNDEFINE; - if(v) - { - if (v->vector_list.capacity == v->vector_list.total) - { - status = vector_resize(v, v->vector_list.capacity * 2); - if(status != UNDEFINE) - { - v->vector_list.items[v->vector_list.total++] = item; - } - } - else - { - v->vector_list.items[v->vector_list.total++] = item; - status = SUCCESS; - } +int vector_push_back(t_vector *v, void *item) { + int status = UNDEFINE; + if (v) { + if (v->vector_list.capacity == v->vector_list.total) { + status = vector_resize(v, v->vector_list.capacity * 2); + if (status != UNDEFINE) { + v->vector_list.items[v->vector_list.total++] = item; + } + } else { + v->vector_list.items[v->vector_list.total++] = item; + status = SUCCESS; } - return status; + } + return status; } -int vector_set(t_vector *v, int index, void *item) -{ - int status = UNDEFINE; - if(v) - { - if ((index >= 0) && (index < v->vector_list.total)) - { - v->vector_list.items[index] = item; - status = SUCCESS; - } +int vector_set(t_vector *v, int index, void *item) { + int status = UNDEFINE; + if (v) { + if ((index >= 0) && (index < v->vector_list.total)) { + v->vector_list.items[index] = item; + status = SUCCESS; } - return status; + } + return status; } -void *vector_get(t_vector *v, int index) -{ - void *readData = NULL; - if(v) - { - if ((index >= 0) && (index < v->vector_list.total)) - { - readData = v->vector_list.items[index]; - } +void *vector_get(t_vector *v, int index) { + void *readData = NULL; + if (v) { + if ((index >= 0) && (index < v->vector_list.total)) { + readData = v->vector_list.items[index]; } - return readData; + } + return readData; } -int vector_delete(t_vector *v, int index) -{ - int status = UNDEFINE; - int i = 0; - if(v) - { - if ((index < 0) || (index >= v->vector_list.total)) - return status; - v->vector_list.items[index] = NULL; - for (i = index; (i < v->vector_list.total - 1); ++i) - { - v->vector_list.items[i] = v->vector_list.items[i + 1]; - v->vector_list.items[i + 1] = NULL; - } - v->vector_list.total--; - if ((v->vector_list.total > 0) && ((v->vector_list.total) == (v->vector_list.capacity / 4))) - { - vector_resize(v, v->vector_list.capacity / 2); - } - status = SUCCESS; +int vector_delete(t_vector *v, int index) { + int status = UNDEFINE; + int i = 0; + if (v) { + if ((index < 0) || (index >= v->vector_list.total)) + return status; + v->vector_list.items[index] = NULL; + for (i = index; (i < v->vector_list.total - 1); ++i) { + v->vector_list.items[i] = v->vector_list.items[i + 1]; + v->vector_list.items[i + 1] = NULL; } - return status; + v->vector_list.total--; + if ((v->vector_list.total > 0) && + ((v->vector_list.total) == (v->vector_list.capacity / 4))) { + vector_resize(v, v->vector_list.capacity / 2); + } + status = SUCCESS; + } + return status; } -int vector_free(t_vector *v) -{ - int status = UNDEFINE; - int total = v->pfVectorTotal(v); - if(v) - { - for (int i = 0; i < total; i++) - { - void * temp = v->pfVectorGet(v, i); - free (temp); - } - free(v->vector_list.items); +int vector_free(t_vector *v) { + int status = UNDEFINE; + int total = v->pfVectorTotal(v); + if (v) { + for (int i = 0; i < total; i++) { + void *temp = v->pfVectorGet(v, i); + free(temp); } - return status; + free(v->vector_list.items); + } + return status; }