From 6c4577fafd8778518cd28f4ee397bbee91490f56 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Tue, 16 Apr 2019 15:32:57 +0200 Subject: [PATCH] repare parseur avec probleme malloc --- .add_to_list.c.swp => .add_to_list.c.swo | Bin 16384 -> 16384 bytes .parse_input.c.swp | Bin 12288 -> 12288 bytes Makefile | 6 +-- add_to_list.c | 46 +++++++++++------------ add_to_list.o | Bin 3400 -> 0 bytes get_smallest_square.o | Bin 200 -> 0 bytes handle_errors.o | Bin 1808 -> 0 bytes main.o | Bin 1204 -> 0 bytes parse_input.c | 42 +++++++++++++-------- print_fillit.o | Bin 724 -> 0 bytes 10 files changed, 53 insertions(+), 41 deletions(-) rename .add_to_list.c.swp => .add_to_list.c.swo (98%) delete mode 100644 add_to_list.o delete mode 100644 get_smallest_square.o delete mode 100644 handle_errors.o delete mode 100644 main.o delete mode 100644 print_fillit.o diff --git a/.add_to_list.c.swp b/.add_to_list.c.swo similarity index 98% rename from .add_to_list.c.swp rename to .add_to_list.c.swo index 20b25b528a723e035bebdc267ca14890424774ae..9f660c7cc2a11df580fae01ff28b461884fd6d9b 100644 GIT binary patch delta 71 zcmZo@U~Fh$lu9xP^Ym3P*E3-N0s#hwEmyb3+zVxAcu~4h>OAwr4Xm5rF$Zh1n_3x~ aSs9yc_RtMsW^&@)>?p95XS1{IUM2we)fJBb delta 74 zcmZo@U~Fh$lu9xP^Ym3P*E3-N0s#gFg#%k-vYgo&nlm;^oo8k(ElJb0*!+$;Sd-n@ d%EZLV*l4qdZU{3|4)111fu%f~oo)9r0RZ2Z6ovo* diff --git a/.parse_input.c.swp b/.parse_input.c.swp index 9396aa2d0ea9efbf7291c5183ce63734049f0936..811fc0bd5791b464a157103f3d635146eafbe829 100644 GIT binary patch delta 931 zcmZY6O=uHA7zW^p)W%h$&7lZU;j>_~KaFW*#afLwp<*M5XbwrB+jQ29+3Y6!gQ7@! z5(GgZXHOoAAczD}s3=}McvAGB*oz0jQw4>Jpy0ckG|?LJu*u9j`^`7AG`}>TT$nn4 zGEavO=nS7x#%k{$mApcneF+{W*GFRcPGa=?$j-trW6SYwBHvC>p|!SyvCpsyAK@+B zft%2PI;3GY48gbUjJ<;ucmTKI23!XpTxh~sI0ISO3klc?KP1N1VGUL#R$(9T<25{o zyKoCEI0bv)_cq2p!Ap1sEASYKFbz5+VHf;FYj5BM+=qLx9Ph-2%EPT|Ou|>Pgy&O^ z!bkeJ%`f{$G1zd0?VIv=$sSk2|NVje9)>1+X`lP9Q5Ux36-7D9U8)L;ldNfij`c#G zxWbFsvcjaROzO>t#ac8mL9#&UbXLKvngNv>PTz zWz_apb*ytlc^Yd8O+)9I%;wg;W?;B{qhTq0XE(ahoEi;LE=Q@7okC}l)L&DqmC>*& z_g4LTW;L9d9_GV%E2>e{!+feVm5Oe`<$mDWB%eMvHy5oHCdvEc{_ByI(TuAqb;Gip ziX0xkW6G-9jVPp&tdmAK@$k$CH`3d5cqO&yN@l}(X>-B9>-CHMS8Y&CSCsZEP3!#9 UPQ>DeW)4ozWV4;w^ph=r05|FGZvX%Q delta 521 zcmZ9`&q@MO6bA5X1j87jZd$myDB_G$X*3dOZjz+P++~3iXfoC?Hri+endlgNrpxlV6Oz zGJcFE*D_UEMG!)SWsmojoJ_frT+)@KvO~jR>X9@Lk0+n6petG_%Q^dZP}1B*NpsFn zZ}IRbt;>Ax|FBI3<)~)WL2GuHOR8u~M-zIV$|UhWS*1% +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/03/01 13:24:35 by vmanzoni #+# #+# # -# Updated: 2019/04/15 20:17:47 by vmanzoni ### ########.fr # +# Updated: 2019/04/16 14:05:39 by hulamy ### ########.fr # # # # **************************************************************************** # NAME = fillit -OBJ_DIR = objs/ -HEADER = includes/ +OBJ_DIR = ./ +HEADER = ./ SRCS = *.c OBJS = $(SRCS:.c=.o) diff --git a/add_to_list.c b/add_to_list.c index 4fda9a6..0eb22ac 100644 --- a/add_to_list.c +++ b/add_to_list.c @@ -6,7 +6,7 @@ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */ -/* Updated: 2019/04/15 20:49:33 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/16 15:32:14 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,7 +29,7 @@ char **fill_tetraminos(char **square, int *tab) i = 0; height = tab[2] - tab[0] + 1; length = tab[3] - tab[1] + 1; - if (!(result = (char**)malloc(sizeof(*result) * (height)))) + if (!(result = (char**)malloc(sizeof(*result) * (height + 1)))) return (NULL); while (i < height) { @@ -128,25 +128,25 @@ int add_to_list(char **square, t_fillist **list) } /* -int main(int ac, char **av) -{ - static t_fillist *list = NULL; // avant d'appeller add_to_list il faut declarer un pointeur static vers la structure - int i; - - if (ac > 1) - { - add_to_list(++av, &list); // l'appel de la fonction se fait avec un carre valide de 4*4 et l'adresse du pointeur vers la liste - if (ac == 9) - add_to_list(av += 4, &list); - while (list && (i = -1)) - { - while (++i < list->size[1]) - printf("%s\n", list->tetraminos[i]); - printf("\n"); - list = list->next; - } - } - - return (0); -} +**int main(int ac, char **av) +**{ +** static t_fillist *list = NULL; // avant d'appeller add_to_list il faut declarer un pointeur static vers la structure +** int i; +** +** if (ac > 1) +** { +** add_to_list(++av, &list); // l'appel de la fonction se fait avec un carre valide de 4*4 et l'adresse du pointeur vers la liste +** if (ac == 9) +** add_to_list(av += 4, &list); +** while (list && (i = -1)) +** { +** while (++i < list->size[1]) +** printf("%s\n", list->tetraminos[i]); +** printf("\n"); +** list = list->next; +** } +** } +** +** return (0); +**} */ diff --git a/add_to_list.o b/add_to_list.o deleted file mode 100644 index 22acb6729a2b2581246b9959a8f15f48a4f6ef3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3400 zcma)9Z)jUp6u((xmu}f!D-$YgF5srs*->T6uvAjEJFa3d)fWH2e5+}@729+!sgAK= zA&cbYExHd5!B6`*P_XEiAyV2+mLX{Sp&ttFLuGB3w?*uyEskmYoqO+lZPFIJsELD`PuI;Adk*++vy^BoZzIYMO^TyE|6|ZXAIX z5hILlsfA>ku|)FJVEnjNFwN@t+_>uXc=Hz5lA;>ECxpF`;gh|wq&XV@WH8=mny(-B z2GJSUI4@~o2=*wxaL~(Hl}Xd=KVc4>>K*P^6Kdm&YM}Gl-lVptS%x&8aQj5}pf*w` zsDO~OX4Dh#Po|2X$3QWUMNz3x&ZyFwQXZ-T1pj|ZkFXX+x)c^xYFSvL#R8wDX~G^Y z+D8IJ_SL5+eHOo|L_sM!;+L{H5gWZJrk3i2b-yU5S$tlk%go4ZBO?V~CaKeaC>`qA ze72q6H1hAs{v3>m*bOoD2NTw`GGIsMMJzQdEdSr@7@EX9VZ%o(GAnHV4bZvk{s6Ok zX46-FR?n>Sb)`}P2DFvuC$m#`2jWs_U5*v0tQf;=BBHJu?u5a|e*Es>o)-*#iM*9DbaS(8y7X zmqE)S{d4%}HDh;}$^2WXGI9?GR9`C8Q*17C#9ze)=n#5iLE;L$M1pvUe_`A9GGH2N|uJA&yAb`vGDNy9WI8q*J+3>z1(hqI%1 zbNsHCulF%c=8H@!A9sxW-fCka)}U9aWK8S`teCo!<99q$+cC-JC7Jb-^DQ7d&!Jfd z+8IBfI7Yq;GgkaMMkcHUtFb}+48#f>h=SMUCwyIg0IUwl$#KUE$;8AObVVcolxr>) zDd|l>DHE|*{nfULIbQT^Rm1y+;I$}tXyrzASME%JWh1wZ^Y3ajNNa@z8KDK=WAm2i zX1aG3i-!TZb)R*^av=uNS1VRmz+1y;-Ad+f=lE?ev|5;Ozhs>EU@CinhutmDTg@si z<@l0k%Y#|5c*&74LmR*h!p~wY%*BmhVxR_QxY=9HpoAJ+vzm)JzUYOv4$OsBFxRYR zuzEEYa(uzFwE;{z(CR#=OQ9=tnOjr1R@KpV@3;JDQCPev>{MA_c)VywajWv;z9{WW z^p>qC(2<<3l;XZdPrQ>xZ8^GZd>56h6%CO!x|gNJAL)}IlVf!TtQlN2p`+IZjNRuT zW^R0KSK7eH_~fN7GLnrwMci+3B+c+Wt?-r4J8s~`K=tk<*oS$Y|2^QEhTLF z#GWm|T$+1m46(o$qM|Z@58{9xm5Pp^vCi#{pKUs{O`DZ^hoM(2 zD?N>4UA-Z)_fY9+JnQOx3BABSN>AfjSMMk2jcGlNZ;jp;>YcdjoTe#I{8~RogOopZ zT=U(aD7zwB-l6$TiVpt;z(`B$?+W;?g64nFd>j<-xz??q__h9qb%FiXv!M9ew|)pp zavM&FzNYCIDD2iB(=@DUNK+6wPX8me!-4xQr{y%zxa&`M9P#dcq4gu)Er&Gk?l(G> zH16&XItr`QS$hr7%-+5}GdW@o4JMMz92guL(%s?S!TA1F(qw-U&+NhYNP?L(#>|uW dUyvN2NqEO6lD(&rW-ogE@jlWR8XAc)_8<3@tPcPH diff --git a/get_smallest_square.o b/get_smallest_square.o deleted file mode 100644 index ea386298411ccd4fb6667710006af0676f4815e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmX^A>+L^w1_nlE1|R{%OhCK>h#3?>1OtO45YGU!@DnG{q=9BKfH25R5QvX2Nv$Y> gup#^q*N6}VADxA69#FmkS&a&iBLEWM;Q|W-01({_D*ylh diff --git a/handle_errors.o b/handle_errors.o deleted file mode 100644 index 1c43c0b8319329a4bda7589b178e1454bb232bbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1808 zcmah~&1(};5PzxZhc)d+X~8dOO1(A|5h*BAZ5I}?B2vXm*_OB=!8Vq3Yl5(lvWc)n zqz6ypAJJn^wY5U@;>Xcj4-pcGkVBDJqV+d#-)pzo76)eM&CKu3`^~(~=F9HSznzQ) zPB1*6LFg(iB2dUV=qUNe$OvtKd=(h!qb4Jzx+J=88d=j_yZ)5=XzIY1t6y#Iit6#w z9l{1#PGZRFdhF@^!fedcmr|Kz>anihnegTtqE1c(KcX0MiO71434{yKbt9q2)3fu2 z^bhmPibmE%J+1wqHwv9%EFn_dT*5O9DiVF`Q3xS%sZ}#Xfcq>J?Dsz028o zbN^dE(3~HdU5l*Iftq7AwBi!fYB=hS<}6hzRG?_>AY9R$_uPF)cc(e(HuvHrQDq=c zNXF|qR=uRw$StWHqZQS<7MrZ)u6HpdpFu)Kl=Z$YdpD}&ulj;RN`BB6>{jw2Ubjgk zst=C<6iy;oR4evIz)>qjwZ<2MtS8eN0Tn8O*~PcIlUEM zk@LZ5T6!v}Wx~lu+}7v~l@YhKA*ImE%LzW!As-~F2+C#7v|I%O=S$viB=5pS#BHk_ zQVM5y5v$IpYd0{|%XCQOZ|t)h_2nZX^68j-UF17l>)YQaP76H0&jQ(SAROxKS^Vzl6@e2xkHpOZH~Pn|C-@$Tdkx&SzzNI-(`Gf<)ZLASLQsg6 zh9G$GpnrhipCPDt^sf*iDD)Uas^8nZF>yul!JF^B@BNtBd9xqCeLb8Z${Zmq&?zWo zp^6QnQ_y`5{6*RlQ(ObFK6(;s(hsP0Y}zpl5v?ob^@{bz_)1Lf$F(nTupDz!^oYTV z)?O5cey}Y>x}WV6Nc_E=&(^10oX=}Ec3dykt>A$lRJC5YYI7ME>~{*eh;#9s4Y5e* zx0YI)n%)ZCh8Y#4&$lQ=SES#%^b?nk5!I~CcotetD%Lh)sJv-p2(<=|0?vV0( zJTm9$B@Zx)^gDyZ;OJwCZvHcR^N;9fsoSuT3vZn6JGJq)9EQzsNtK$ddQ}C@ScS%| zsx7~6&d-qquLt+tx}Rn%29K!W2hF4`$w0|kr_Jjs^kd6q0Mp?DI-=RiEHllwr7 zxcE@`UE%MHu;>bZOZXKawkwu|zbyPYAl^X{!13v2U>=5*GcYDxnos!`Q$FWT=3h(s tq<8R_#`ycAn6y_j-d)(ZbZvNOk>z+;zo=13l0drQ`T=R4sOBW}{|Q{?uKEA~ diff --git a/parse_input.c b/parse_input.c index fcddb12..122a202 100644 --- a/parse_input.c +++ b/parse_input.c @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/15 14:48:14 by vmanzoni #+# #+# */ -/* Updated: 2019/04/16 11:50:45 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/16 15:28:11 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,25 +18,24 @@ char **create_square(char *tetri) { - char **square = NULL; + char **square; int i; int k; i = 0; - while (tetri[i]) + if (!(square = (char**)malloc(sizeof(*square) * 4))) + return (NULL); + while (*tetri && (k = -1)) { - k = 0; - *square = malloc((sizeof(char)*4) + 1); - while (k < 4) - { - *square[k] = tetri[i]; - k++; - i++; - } + if (!(square[i] = (char*)malloc(sizeof(**square) * (4 + 1)))) + return (NULL); + square[i][4] = '\0'; + while (++k < 4) + square[i][k] = *(tetri++); + while (*tetri == '\n') + tetri++; + // printf("%s\n", square[i]); i++; - //printf("print:\n%s\n", *square); - while (tetri[i] == '\n') - i++; } return (square); } @@ -47,6 +46,7 @@ void parse_input(char *input) char tetri[20]; int i; int j; + char **test; i = 0; while (input[i]) @@ -58,8 +58,20 @@ void parse_input(char *input) //printf("PRINT:\n%s\n", tetri); if (check_tetri_errors(tetri)) print_error("Error: Tetrimino not valid."); - add_to_list(create_square(tetri), &list); + test = create_square(tetri); + add_to_list(test, &list); while (input[i] == '\n') i++; } + /* + ** ce qui suit sert juste a afficher le contenu de tous les tetraminos de la liste chainee + ** pour debug, a effacer au rendu + */ + while (list && (i = -1)) + { + while (++i < list->size[1]) + printf("%s\n", list->tetraminos[i]); + printf("\n"); + list = list->next; + } } diff --git a/print_fillit.o b/print_fillit.o deleted file mode 100644 index 8234f4bc1e2848a5228a583def83c23af7a2aa66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724 zcmaJ^J~y4cKD+huum1 zMRFpIp2Xn3Y+4()X+l5L`P^}StRrt*9PY=nRAWSVShSfU)4F(BsTPVx*S$vBJJWi9 zFM7wE72ycmXu`9!!7}Qot-Qv3Zb_f}g^C+Sw4R>tR1&ko8R;jI7Klob&%6oP>?G&; z9PO|QzLB~fcpVybbO1~m&&QY=a5CW^|40RIs`KvjxPb~