From 0ea7e04d2edd90312a827a8a9e8b896725bbf805 Mon Sep 17 00:00:00 2001 From: Adam Joly Date: Mon, 8 Apr 2024 12:54:24 +0200 Subject: [PATCH] =?UTF-8?q?[=E2=9C=A8]=20feat:=20finished=20normally?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clangd/index/main.c.259C23514E408AC0.idx | Bin 1746 -> 1514 bytes .../index/parsing.c.B79530D8B421E683.idx | Bin 868 -> 868 bytes .../clangd/index/pipex.h.D099372D6E124AAF.idx | Bin 1056 -> 1240 bytes asdf | 0 fff | 9 +++ include/pipex.h | 5 +- lol | 3 - obj/src/main.o | Bin 6328 -> 6000 bytes obj/src/utils/{ft_freetab.o => ft_freearr.o} | Bin 2480 -> 2480 bytes obj/src/utils/ft_senderror.o | Bin 0 -> 4656 bytes obj/src/utils/getpath.o | Bin 3256 -> 3256 bytes obj/src/utils/set_path.o | Bin 4544 -> 5056 bytes pipex | Bin 33240 -> 33616 bytes src/main.c | 65 +++++++----------- src/utils/ft_senderror.c | 61 ++++++++++++++++ src/utils/getpath.c | 4 +- src/utils/set_path.c | 15 +++- 17 files changed, 116 insertions(+), 46 deletions(-) create mode 100644 asdf create mode 100644 fff delete mode 100644 lol rename obj/src/utils/{ft_freetab.o => ft_freearr.o} (88%) create mode 100644 obj/src/utils/ft_senderror.o create mode 100644 src/utils/ft_senderror.c diff --git a/.cache/clangd/index/main.c.259C23514E408AC0.idx b/.cache/clangd/index/main.c.259C23514E408AC0.idx index 999cb92f7fcc77ff972d8262a7652effdfde28fd..4b795795b4e3c4ad6111f943e356504afe02baa7 100644 GIT binary patch literal 1514 zcmY*Y3rtg27(Vy5rKLT6olb>WSUOK2>lCULR!d94vhlg{Y3~+19VMQ|n_|yn_CvzE2;7 z`D~jMH)oFzJI}?6?yidGI+G3RZ9(`g5IQzI`UQern|V_YUo=;}mus z-XXCzKP||6EZprLQ`?(rOW(j>?{d?LIc;I35D0Nw5C_TE7QD0e{JndwdAe8J3V{M| zZ)b1ktu17`Y{(IA`S_h_2t;^W%~4C%7P1W*$}8+kECBZUK4@F`DH4- z^~uIC|CMBf4a_{VfcQrJR#pDh3wvdltC4EtBpV_fS0^A*{fX|M#vcD8!`y5-TST~% z`ENeaTAwIcn9I|MNH#?AFdjXNv_h?nL=&x}sguH%SFxRmXJV>=$bu|#qFaa(i>v+; zq+`2GDw9Xx<`QrDCC(Qn%#G$nhmaOQl+I0;k%)AN=0A6M5M@vqQljKv?5eJ~(AgAd zHl^h-#hIFgbANU_v4K*p+(slJGQ=D7B$^g@Z@G6+hcP#aN(v&}AG`f#fzfjW!@AA7 zSdvW~DgJZAQgFL4H2vGDW7sJRW=TjEM0v721&O*Q?zr?tXHH{D3uWOGxMOhs((8ut zvlzApTjj**`l-#8d(LuuF|3Kus0i%wu8dY?Y`B1(66gfx93V=h6Pc)g;!bVTrqmBH zHw+l(_!nzF B>X-lk literal 1746 zcmY*Z2~d<(9Di?@J$dZ$?Y9fNxQG^MQ4Rzn;0g<@as^8)$HFdnfa@^=Ib0*dP-G}t z;uyqWC`bne$z%Zq79cp9p}{oR=o$)&k{k^(aikX71Lu7UZ{~aR{eJ)VzyI$U!b3u? zasklo2;ZM!$=PlP0HE-fos+d^9R#431;GAO)rOADiyo5B(4H>9f2i8vx;b^Cf6b`V zr_JR~|H*FY?Sk72)CSYnqQmO~ZVe6H>G3#S{n48V)#DF5&0DTnDth}S%1o2Zb%I_C zoE|zFKj*Nn$aCAHu7I{1W1kFav^UabRye`EMSk11aBmirMXtTD+009?{urLOY6>qV zYlc<2ri$G>%WqS6U(Y)wY7gJoe|!D#*|^KEyw|fe=IouB1DCnasyh9~OItkeem`*q zp&G-tO@45$dn>!e1-aj7i&Y#cx(e$na_YYv8*Uix6uj;J##@)Jz^i4G2P3ne)TWoW zK0kh}byxA8!yEJuy_$YXx$S*FA~U0SZP`fmJ%6jYVoEw=NKh+bZsUQL)Tb+bTp~NV zPp~svp9^w5eBJKK`p=9vX6I+5zKg53?|9AazNu$21e^e%eL22T%9Z0P1p*cXYB8iZ za9zI?2=+Axt5gj3j5EG+g-Jqu=b1x6m(emh3M5`k+_@v0+UWjQ8 z)QCt5+_pgk&ro7a$M9nqBW~ZgI*&E`Q<#qB$J!IytN+?<`Eg~k4AXk4UQTFYjDu)* zw!4_gp7vsUF-W*rC=w2$BUzCmVgS(ztON!P#B81QHq5@v!e01#hQ|3gM9YYZRjB>0 za^8784n;+&oJh^Ahk64C96s1+hv+~QC?=61I!G3zuptBAz$AreGi7FSNu+$X?f%z( z6Sf-%(_rFSDhg$(LQHFD4bx2`hQei&6W^bx*!0WLQ68cL zP=Lgiua?$2*-$)+mkP1i2YsU4nGRP#ZGIOpXMRg0qFoh7%W>6=ZL7Wrk)U zQ7OGJdCsK!y%y(^B1n;wsK{8HWUnl85Kk)!(^s6>cYN#52|`w*m&$E?lcJ;(Owd-B`BVb$IrxzHMjcOpWVl_L1bXMRbIFLVV<;c68rU~e3dp&VK9uDar}-rMz|0M9zjgh!vx!rf*hOW-pJd>A2%OV0L}>ttnSD8?(}rFSk{+ zf8X7EFw#|0mFFCl7KOexL(_D+*u zxYr-2unz`TJBN(^PxI=N`&tL4h$fqqYP`C_m9vk1TruF-pP$(z0g!c15J{^}!-20q z5R=@*i2)Q;1$yiqX5&oPS{(;0P5UeSRbs&Oo~rXNN51}9N<{Sp0tsXSwZO`}z$BLt z=0#%qTv*bajRT(YjWQz<1MO_cHZPw$8gjjqmChSK@kS2)7p@dj<)PTY9Y9f1}^~I!j)K(wYfv>rZ0?2t?}kSwUGL+EWkhBJws>! literal 1056 zcmWIYbaRtnVPJ4h@vO*AElC728H9kixTGlaB9Okx$iPrBXKsM6|6v23ul_F++0A?- z3eL>@AJ}>%w>fBe*W9d(NBb|Q7&IoZ@Az@@{p$}8^2+NBZs{j33@*?3u&w?6jpXgt z_EP3I@5rV}u717yF?->gb?CgE4PpIc%<%QFKg|sKFpW2+$`sHR@AwC9nptKZ+6gQZFNf%6*cjw%P zf5JQr{1EjFT=J~)f()E2ObimNj9jd@1LMD%1btQEV-N!Bmu8dZ0TVF&H`>lR+~#ez z;bUL}N=tA`@PG-JbcB$3LdI`y7aj&dnDGj%3Oo#)%#0A@r_6czWWvNpsca0Q3=CXi z{9;NODN>fC-oddv9FMtyFec$paH$;8J2$;zL+4 zdAjA9b7BJLco+m=E>L7u6hTt3)a-eg;F@>b4B|i+$TG=tf(e8R7>ZKUij$E-nvn|} z!Z4@9LKr9v3SO8nEMyruAt4I29TuKI)u6zHsfL9kP#6@5Fkx8u0Sy6%8`Kb(G*C4t z$e^MO?7PxDnETk;fWo|-yfFVVz=9Ac3<^J(W?0Yx%?1Y<)D&2N0foT<1rvq_6Dt=a zc%Z^OT=GKlk}$vWa4GOAh`=1p!=)&yC<8N(hf9fHNepJ`E0d=;FTLpf$p}m@j1ufH z?*qd+ClO?HaZz%yJBYyzA|QYl#$aIJK`^=QtcX%=`mUeD%E`^k2TWQBDLw=f0Mzvz Aga7~l diff --git a/asdf b/asdf new file mode 100644 index 0000000..e69de29 diff --git a/fff b/fff new file mode 100644 index 0000000..c268aaf --- /dev/null +++ b/fff @@ -0,0 +1,9 @@ +asdf +compile_commands.json +fff +include +libft +Makefile +obj +pipex +src diff --git a/include/pipex.h b/include/pipex.h index f4d56fa..d224d33 100644 --- a/include/pipex.h +++ b/include/pipex.h @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/22 21:14:06 by adjoly #+# #+# */ -/* Updated: 2024/04/06 17:26:47 by adjoly ### ########.fr */ +/* Updated: 2024/04/07 17:02:48 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,5 +33,8 @@ void ft_senderror(t_pipex *pipex, char *msg); void getpath(t_pipex *pipex); void get_arrcmd_path(t_pipex *pipex); void exec_pipe(t_pipex *pipex); +void ft_senderror(t_pipex *pipex, char *msg); +void ft_senderror_file(t_pipex *pipex, char *msg); +void free_pcmd(t_pcmd *cmd); #endif diff --git a/lol b/lol deleted file mode 100644 index 439cdc4..0000000 --- a/lol +++ /dev/null @@ -1,3 +0,0 @@ - "src/main.c",$ - "obj/src/main.o"$ - "file": "src/main.c"$ diff --git a/obj/src/main.o b/obj/src/main.o index 0ab33dd03202b5107f3ef1d697287061751761df..dde18c513f7e373ac098581bd9c038cc338757fc 100644 GIT binary patch literal 6000 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 B4`cuU delta 50 zcmdlWyg_)w8b;=l#H7jV8P9|1MkYBP4mNLA9=3U`0%@!~n^!ZvVgku*p1~@?0sx|! B4>kY* diff --git a/obj/src/utils/ft_senderror.o b/obj/src/utils/ft_senderror.o new file mode 100644 index 0000000000000000000000000000000000000000..3fabcdb1a390f5807e819cb82767247888632568 GIT binary patch literal 4656 zcmb_feP|p-6rbJAZZ^5*?s{q3^uzSTk5(mjiB)WCY*X6kHLapzwMA>VT=p(!@5{Tr za8*J>FA>w!+9LH2#j2o~KME~^ANWzLm4f~u1w{lw!J@VpXru@Mh4|j=%--DGMg7A^ z_U66c`<&U?nU@27JMUH%g>X{HCQ^|&N=TQt!uL|Pm-xYQS7h?%NO>k0nH-&qO!du0 zCi`Z)&qm6lv*g*nE531b1AI18UQc|-&jNO+@5;2|o6tdV`DU)2T7L55SrN)- z{TTA{^!)sMWNLKI(UdmAuSLkk_}nndxbns=k;PS2X+xU+Ld+JT zdAGNsupY#w>p|S)@c>JbFpmaY7Gly(hRa+_Cqaj=kkZret2~UX;@8w;C5QV8h6eRm zj!FTPDjqL_z&tu!j}AWs1c@4*SRnM7{@rU|u%qN9P{27nR7U_e?2jj&c*M!j%W+VV;SZH4JZ z(^mQ^k9BCP+9{6#wQGV-0=D_=-vGr{g#LtUZn&h8CGs$EA4 z`B=DUCsT!R+#V=cnIS8m&*noh63)a6;o)rBDukm$Ph?a3!`rg4V%o~sg>WvJvq~hM zx2%C&EImX-*D7Hko=jN;O=82*Jjv#4D1sCmFPjbN9B~5XqV_PcG9x6Jp?=AXO|nIs z^58?0f)gFng#_y03;R#gT!IS>q&)Q?QA&Pg<)TLOC@kJ8!09NdUVtH z63~8K>(RZ&9=#RWez4!8tMBTKkLxM`3P|LX?r*+I#YW>*FxahYMnVU630S~i6G(pa z?m=(kAVf`29RrR+{Dj_y7X5l7#y9#guGtHL|Db`5y3ty|3Uio{#ti7q#$9werZEf^ zU7E2^-2(RK7r-~MIAbs((Y*`foA6+Ke&*193)o}u)T_TAa3nmn z@s#-s?qQ@y5ClRTuUC#gi6D?{|B?e!9B%?{e@eh{wK@KUfWtlI;ui%RPf~8rU$|V4 zbI;V)6JT2i?Zvzs1zfE2ApsZbNeejkI=r5;fQ#$)oPdjYj|;dM|Ac^xai#@ajDx;N z_)av+IX`^IB93$B6krU;Z)EaP0moL2(+b9L`^`-5U?Z00o=?EvvH-q;;XF>1$y+7- z5R)H}@M$LRWh2i!#^il$GE=xGS)t_fLkI%oGS0sDdmjL#bg!B0CNH~vw zPQrg;@^=#cI+K5taQq_2N@h4<4MU=6 z+Nx?QoJI@_sBYVGMH_m))IhwtiGv;_1V!7?K^XU^ar}SiB81WEgt`O&tpeiv)sbkw z#92CGABV4=pL1N<%NYFMK_vN3^MO)4|F~@s4_Bbm%pdJ=PcWGFdZngk-leszlb34 zyna67`CrffQ&!ZPfANnBF-6l$^(Ixv_GJglvE_0@aQ~c(I1HaZhp`W;m+At$AS28W z*ALG|?vK4b5}t2-EhxZ#cC$-zKvGH~nE?BG`P60 literal 0 HcmV?d00001 diff --git a/obj/src/utils/getpath.o b/obj/src/utils/getpath.o index 99f758f5450236a95052fc9d4d5d7fc8274a8ac2..2966683db3e75fcdbb1ae826d3c690b1bbfe7fe2 100644 GIT binary patch delta 188 zcmdlXxkGY75@XcFWMzI;1_lO?Zr2YU-4-6r$5|&%RA-zqapz&aNkDNXAO?d;le-vg z88s%KU^Hic1QcPGRoKkNq{cYefLTQpq>{mrPoRy-nU{^JmxrB$fnnq1Oy*WzS+)#T z88$CgB^y>DugO1{Z6{l>Twt6unUmF=F?zEj>vd)zN0PIg@zUgpoc4@2CSL@SQIiF^ h>KQ{PPvo*^>LaX>n3M1w{pp_Ww1)K zd9e!FO#aPmJK2=wGGpIlPF8cq@Xd~_*O`GFNzQV{bCV}>+B066d=W^7O%~*;XAGP? Zk;|Tub@D|ZsWVxS`#9sK$v3(00{|t%5eiSGA2IwAEB02%;rE zkboHHM~g`NCHf&^KYSqCQlWz4j})c)BlxIa_D2n()Y+R<4eWKT@Ey4YwmFZCqL z$1+c9c8w%Wr;*`$h(H$iLu7Lu71~-*OvbWlwQx+zvn-ZLTg*Hio-RO4HXZs$kxg4J z&NY?SWTTU@%#cObnf#obnwp}9)~=D|ESgGnr&fnIb$52Qb+w1Px{rpF-N(Ax@iGj- zCrl{2VI1!%%?s{QBiK$0gOwg7mo7vBn%b-64!fv!aGB>O;A?MV?YJZw4C}12Nf*jk zz^5`ckEorJCzI9w=I^-qK5XW>3f=#W3lZm`Yh2XxGI4-=2x%gRANal?_j&Xdu86ou zaL91>6`RDOZGN$qtEBS9c~BhWvnlk(iAiviLbbkyTSVIwSJrbL=YGlr358q~6s_D# zNQjSI@$@|4;4xdUS2*w%2gG%Ffh&AA?)8OWgN$H{yB?J5iVTf0gDI>=etj}`F4~b? z@=cN?bKisZmpJTO0|ER+bpkj`jldynRwKGexu5h|q&+0Yrmj`0UGYjDCi9Y)kxy&h z%Pjnm>&fzBZ>gbY{-fDf!W$+0xe{J0;cxthzhAbp;V3p}yGQvbx8LPCAyg%7(Y%?7Aj=hGhRTr-@7Y9hOv52nVJKceuIBeMP1}n^J z*ntg(tvvN(tGP}&?!`WHotEH*dewB+fgY(=PI2tjXXB)9VZZQVqg5`cR%;#umkUX^S+t+X6A*%VdmjsNCZb} z!Rl20AY-g}|8DCiAvuM1u@PFu*+P4}-tBgaYlTif&?z=nM#{@64{t#Rjv_)P9ZJgF z*njUSqza=5HCU_|3Vt>@XmSd0hN=#_77Xm0`U>4g&u zitv+inx9V?{Ecl|jO`=pn&Qcn+W+{)D4xeZdZ3B;Z+vOo5L)7j4h@~H}ZUA#if)h9@stYU$`Z`M{+;?{{eYQw9FoDVMTiI1MAY& zpQsL4cN|=lIsOdryUfA`T#~NH)Beg{;8x0mv*=5gw=J9;7~|hGoEsPui)t>iVVozy ztE!4`#;~3m#2qQ&9r|gPw_-S%&cf@cK4;?`J)TDmN_wySWYpkslu)&Cuakut^c`2s W^!G5Z;&`x0V-jcdib^=|c>e&Uk*fFr diff --git a/pipex b/pipex index 5c0ae189f4cc06fdf23add59111cd78ea09dcf67..49ae89c7c8264e2bb2efc59e78f080bf092caf77 100755 GIT binary patch delta 7788 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 diff --git a/src/main.c b/src/main.c index 44d84e6..e14c69a 100644 --- a/src/main.c +++ b/src/main.c @@ -6,31 +6,15 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/21 10:03:04 by adjoly #+# #+# */ -/* Updated: 2024/04/07 11:03:19 by adjoly ### ########.fr */ +/* Updated: 2024/04/08 12:49:21 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" #include "parsing.h" #include "pipex.h" -#include -#include -void free_pcmd(t_pcmd *cmd) -{ - t_pcmd *tmp; - - tmp = cmd; - while (tmp && tmp->cmd) - { - free(tmp->cmd); - ft_freearr(tmp->option); - tmp++; - } - free(cmd); -} - -void check_empty_args(char **av) +void check_empty_args(char **av, t_pipex *pipex) { char **tmp; char *tmp_av; @@ -40,8 +24,6 @@ void check_empty_args(char **av) while (*tmp) { tmp_av = *tmp; - if (!*tmp_av) - ft_senderror(NULL, "You have empty argument"); while (*tmp_av) { if (*tmp_av != 32) @@ -49,23 +31,28 @@ void check_empty_args(char **av) tmp_av++; } if (!*tmp_av) - ft_senderror(NULL, "You have empty argument"); + { + ft_putendl_fd("You have empty argument", STDERR_FILENO); + free(pipex); + exit(EXIT_FAILURE); + } tmp++; } } -void ft_senderror(t_pipex *pipex, char *msg) +void check_files(int ac, char **av, t_pipex *pipex) { - (void)pipex; - ft_putendl_fd(msg, STDERR_FILENO); - if (!pipex) - exit(EXIT_FAILURE); - if (pipex->path) - ft_freearr(pipex->path); - if (pipex->cmd) - free_pcmd(pipex->cmd); - free(pipex); - exit(EXIT_FAILURE); + int out; + + pipex->infile = open(av[1], O_RDONLY); + pipex->outfile = av[ac - 1]; + if (pipex->infile == -1) + ft_senderror_file(pipex, "Error: Infile can't be opened"); + dup2(pipex->infile, STDIN_FILENO); + out = open(pipex->outfile, O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (out < 0) + ft_senderror_file(pipex, "Error: Outfile can't be opened"); + close(out); } int main(int ac, char **av, char **env) @@ -74,18 +61,18 @@ int main(int ac, char **av, char **env) pipex = malloc(sizeof(t_pipex)); if (ac != 5) - ft_senderror(pipex, "Error : Invalid number of args"); - check_empty_args(av); - pipex->infile = open(av[1], O_RDONLY); - dup2(pipex->infile, STDIN_FILENO); - pipex->outfile = av[ac - 1]; + { + free(pipex); + ft_putendl_fd("Error : Invalid number of args", STDERR_FILENO); + exit(EXIT_FAILURE); + } + check_empty_args(av, pipex); + check_files(ac, av, pipex); pipex->cmd = parse_cmd(ac - 3, av); pipex->env = env; getpath(pipex); if (pipex->path == NULL) ft_senderror(pipex, "Error : Can't find path"); - ft_strlcpy(*(pipex->path), *(pipex->path) + 5, \ - ft_strlen(*(pipex->path) + 5) + 1); get_arrcmd_path(pipex); exec_pipe(pipex); ft_freearr(pipex->path); diff --git a/src/utils/ft_senderror.c b/src/utils/ft_senderror.c new file mode 100644 index 0000000..29fc11d --- /dev/null +++ b/src/utils/ft_senderror.c @@ -0,0 +1,61 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_senderror.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/04/07 16:59:53 by adjoly #+# #+# */ +/* Updated: 2024/04/07 17:14:06 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "pipex.h" +#include + +void free_pcmd(t_pcmd *cmd) +{ + t_pcmd *tmp; + + tmp = cmd; + while (tmp && tmp->cmd) + { + free(tmp->cmd); + ft_freearr(tmp->option); + tmp++; + } + free(cmd); +} + +void ft_senderror(t_pipex *pipex, char *msg) +{ + ft_putendl_fd(msg, STDERR_FILENO); + if (!pipex) + exit(EXIT_FAILURE); + if (pipex->infile > -1) + close(pipex->infile); + if (pipex->cmd) + free_pcmd(pipex->cmd); + if (pipex->path) + ft_freearr(pipex->path); + free(pipex); + exit(EXIT_FAILURE); +} + +void ft_senderror_file(t_pipex *pipex, char *msg) +{ + int out; + + ft_putendl_fd(msg, STDERR_FILENO); + if (pipex->infile > -1) + close(pipex->infile); + out = open(pipex->outfile, O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (out == -1) + { + free(pipex); + exit(EXIT_FAILURE); + } + close(out); + free(pipex); + exit(EXIT_FAILURE); +} diff --git a/src/utils/getpath.c b/src/utils/getpath.c index 61276d4..478c34f 100644 --- a/src/utils/getpath.c +++ b/src/utils/getpath.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/04 15:32:56 by adjoly #+# #+# */ -/* Updated: 2024/04/07 11:01:17 by adjoly ### ########.fr */ +/* Updated: 2024/04/07 16:20:05 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,7 +21,7 @@ void getpath(t_pipex *pipex) { if (!ft_strncmp(*env, "PATH=", 5)) { - pipex->path = ft_split(*env, ':'); + pipex->path = ft_split((*env) + 5, ':'); return ; } env++; diff --git a/src/utils/set_path.c b/src/utils/set_path.c index 6f9751c..75fbfe8 100644 --- a/src/utils/set_path.c +++ b/src/utils/set_path.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/06 13:31:15 by adjoly #+# #+# */ -/* Updated: 2024/04/06 17:30:03 by adjoly ### ########.fr */ +/* Updated: 2024/04/08 12:53:46 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,6 +28,8 @@ char *get_cmd_path(t_pipex *pipex, char *cmd) char **path; char *tmp; + if (access(cmd, X_OK) == 0) + return (cmd); path = pipex->path; while (*path) { @@ -42,6 +44,7 @@ char *get_cmd_path(t_pipex *pipex, char *cmd) free(tmp); path++; } + free(cmd); return (NULL); } @@ -53,6 +56,16 @@ void get_arrcmd_path(t_pipex *pipex) while ((*cmd).option) { (*cmd).cmd = get_cmd_path(pipex, (*cmd).cmd); + if (!(*cmd).cmd) + { + ft_freearr((*cmd).option); + if (pipex->cmd[1].cmd) + { + ft_freearr(pipex->cmd[1].option); + free(pipex->cmd[1].cmd); + } + ft_senderror(pipex, "Error: Command not found"); + } cmd++; } }