From 15623fa6bbf10f36ff86d849b41b8ab0e4a35bc5 Mon Sep 17 00:00:00 2001 From: Manzovince Date: Mon, 15 Apr 2019 15:11:50 +0200 Subject: [PATCH 1/6] Cleaning modif + new file for parsing input --- add_to_list.c | 15 +++++++++++++-- fillit.h | 6 +++++- handle_errors.c | 16 +++++++++++++--- main.c | 5 +---- parse_input.c | 34 ++++++++++++++++++++++++++++++++++ read_file.c | 36 ++---------------------------------- 6 files changed, 68 insertions(+), 44 deletions(-) create mode 100644 parse_input.c diff --git a/add_to_list.c b/add_to_list.c index 371646a..4b69176 100644 --- a/add_to_list.c +++ b/add_to_list.c @@ -3,16 +3,19 @@ /* ::: :::::::: */ /* add_to_list.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: hulamy +#+ +:+ +#+ */ +/* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */ -/* Updated: 2019/04/15 00:24:25 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 14:38:43 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" #include +/* +** Function that ... +*/ void find_start_and_end(char **square, int *x1, int *x2, int *y1, int *y2) { @@ -36,6 +39,10 @@ void find_start_and_end(char **square, int *x1, int *x2, int *y1, int *y2) i--; } +/* +** Function that ... +*/ + char **fill_tetraminos(char **square, int x1, int y1, int x2, int y2) { char **result; @@ -63,6 +70,10 @@ char **fill_tetraminos(char **square, int x1, int y1, int x2, int y2) return (result); } +/* +** Function that ... +*/ + int add_to_list(char **square) { t_fillist *list; diff --git a/fillit.h b/fillit.h index e674e97..a7a5912 100644 --- a/fillit.h +++ b/fillit.h @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 00:26:08 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 13:39:50 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -39,6 +39,10 @@ int check_tetri_errors(char *tetri); int check_tetri_errors2(char *tetri); int add_to_list(char **square); +/* +** STRUCTURE +*/ + typedef struct s_fillist { int id; diff --git a/handle_errors.c b/handle_errors.c index f553bb9..2f5a907 100644 --- a/handle_errors.c +++ b/handle_errors.c @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/01 13:29:05 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 00:13:18 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 14:41:19 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -42,8 +42,9 @@ int check_file_errors(char *file) return (1); if (file[i] == '\n') line_nbr++; -// if (file[i] == '\n' && file[i+2] != '.' && file[i+2] != '#') -// return (1); + if (file[i] == '\n' && file[i+1] != '\0' && \ + file[i+2] != '.' && file[i+2] != '#') + return (1); i++; } if (line_nbr < 4 || line_nbr > 129) @@ -51,6 +52,12 @@ int check_file_errors(char *file) return (0); } +/* +** Function that check if tetrimino square contains: +** - 4 '#' +** - 12 '.' +*/ + int check_tetri_errors(char *tetri) { int i; @@ -73,6 +80,9 @@ int check_tetri_errors(char *tetri) return (0); } +/* +** Function that check if tetrimino parts are linked +*/ int check_tetri_errors2(char *tetri) { diff --git a/main.c b/main.c index b3bd85c..f05cc99 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/12 13:20:48 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 00:12:25 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 14:41:44 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,10 +22,7 @@ int main(int argc, char **argv) print_error("Error: Could not read file.\n"); if (check_file_errors(input)) print_error("Error: Invalid file.\n"); - if (check_tetri_errors(input)) - print_error("Error: Tetrimino not valid.\n"); /* - Check if every tetrimino is valid Transform input to tetriminos Backtracking for smallest square Transform tetriminos with letters diff --git a/parse_input.c b/parse_input.c new file mode 100644 index 0000000..c6b1efb --- /dev/null +++ b/parse_input.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* parse_input.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: vmanzoni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/04/15 14:48:14 by vmanzoni #+# #+# */ +/* Updated: 2019/04/15 15:10:01 by vmanzoni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "fillit.h" + +/* +** Function that parse a file and return each tetrimino +*/ + +void parse_input(char *input) +{ + char *tetri; + int i; + + i = 0; + while (input[i]) + { + tetri[i] = input[i]; + if (i != 0 && i%19 == 0) + { + + i+2; + } + } +} diff --git a/read_file.c b/read_file.c index 345e91f..a53e571 100644 --- a/read_file.c +++ b/read_file.c @@ -6,14 +6,14 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/13 12:09:46 by vmanzoni #+# #+# */ -/* Updated: 2019/04/14 23:01:31 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/15 14:48:36 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" /* -** Function that read and return a ptr to file +** Function that read and return a ptr to file content */ char *read_file(char *file) @@ -39,35 +39,3 @@ char *read_file(char *file) close(fd); return (result); } - -/* -** Function that parse a file and return each tetrimino -*/ - -int parse_input(char *input) -{ - char tetri; - int c; - int i; - int j; - - c = 0; - while (input[c]) - { - i = 0; - while (i < 4) - { - j = 0; - while (j < 4) - { - tetri[j] = input[c++]; - j++; - } - if (check_tetri_errors(tetri)) - print_error("Error: Tetrimino not valid.\n"); - c++; - i++; - } - c++; - } -} From ab4050376efc89e4cbe23ec30f63920dddf660b1 Mon Sep 17 00:00:00 2001 From: Manzovince Date: Mon, 15 Apr 2019 15:12:32 +0200 Subject: [PATCH 2/6] gitignore for .o files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index d9c4f04..3eccac0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ objs/ + +*.o From 10901ad1a6243b1f99a4928fd9dcb2a98ee378aa Mon Sep 17 00:00:00 2001 From: Manzovince Date: Mon, 15 Apr 2019 20:26:13 +0200 Subject: [PATCH 3/6] minor modifications --- Makefile | 2 +- README.md | 6 +++--- add_to_list.c | 5 ++--- parse_input.c | 5 +++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index ac53509..e6b9426 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: vmanzoni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/03/01 13:24:35 by vmanzoni #+# #+# # -# Updated: 2019/04/14 22:01:39 by vmanzoni ### ########.fr # +# Updated: 2019/04/15 20:17:47 by vmanzoni ### ########.fr # # # # **************************************************************************** # diff --git a/README.md b/README.md index 9104141..92de26a 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,13 @@ - [x] Check if we have a file - [x] Read file -- [ ] Check if there are errors in file +- [x] Check if there are errors in file - At least 1 tetrimino or less than 26 -- [ ] Check if every tetrimino is valid +- [x] Check if every tetrimino is valid - 4 char * 4 lines - 4 blocks in 1 tetrimino - No solo block -- [ ] Transform file into tetriminos +- [x] Transform file into tetriminos - [ ] Backtracking for smallest square - [ ] Transform tetriminos to letters - [ ] Print result diff --git a/add_to_list.c b/add_to_list.c index 037a2fc..0a84681 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 17:16:09 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 20:19:55 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -46,7 +46,7 @@ char **fill_tetraminos(char **square, int *tab) } /* -** this function calculate the line and columns where the tetraminos +** This function calculate the line and columns where the tetraminos ** start and end, by skipping the empty lines ** ** ! it has a little bug so far, i need to fix it @@ -149,4 +149,3 @@ int main(int ac, char **av) return (0); } - diff --git a/parse_input.c b/parse_input.c index c6b1efb..fde933c 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/15 15:10:01 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/15 20:14:43 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,7 +15,7 @@ /* ** Function that parse a file and return each tetrimino */ - +/* void parse_input(char *input) { char *tetri; @@ -32,3 +32,4 @@ void parse_input(char *input) } } } +*/ From 95b96fc25f9a4220cac4deb94cccd80eaec0d29f Mon Sep 17 00:00:00 2001 From: Manzovince Date: Mon, 15 Apr 2019 21:34:30 +0200 Subject: [PATCH 4/6] parsing_input v0 (Not working yet) --- add_to_list.c | 7 ++++--- fillit.h | 29 ++++++++++++----------------- main.c | 5 +++-- parse_input.c | 49 ++++++++++++++++++++++++++++++++++++++++--------- 4 files changed, 59 insertions(+), 31 deletions(-) diff --git a/add_to_list.c b/add_to_list.c index 0a84681..4fda9a6 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:19:55 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/15 20:49:33 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -127,13 +127,13 @@ int add_to_list(char **square, t_fillist **list) return (1); } - +/* 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 > 4) + 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) @@ -149,3 +149,4 @@ int main(int ac, char **av) return (0); } +*/ diff --git a/fillit.h b/fillit.h index d033553..6eb65b5 100644 --- a/fillit.h +++ b/fillit.h @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 16:23:18 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 20:53:57 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,22 +22,6 @@ # define BUFF_SIZE 1024 -/* -** DELETE BEFORE EVALUATION -*/ - -void print_test(char *test); - -/* -** FUNCTIONS -*/ - -char *read_file(char *file); -void print_error(char *s); -int check_file_errors(char *file); -int check_tetri_errors(char *tetri); -int check_tetri_errors2(char *tetri); - /* ** STRUCTURE */ @@ -52,6 +36,17 @@ typedef struct s_fillist struct s_fillist *next; } t_fillist; +/* +** FUNCTIONS +*/ + +void print_test(char *test); //DELETE BEFORE EVALUATION +char *read_file(char *file); +void print_error(char *s); +void parse_input(char *input); +int check_file_errors(char *file); +int check_tetri_errors(char *tetri); +int check_tetri_errors2(char *tetri); int add_to_list(char **square, t_fillist **list); #endif diff --git a/main.c b/main.c index f05cc99..c87f7f1 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/12 13:20:48 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 14:41:44 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/15 20:54:24 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,13 +22,14 @@ int main(int argc, char **argv) print_error("Error: Could not read file.\n"); if (check_file_errors(input)) print_error("Error: Invalid file.\n"); + parse_input(input); /* Transform input to tetriminos Backtracking for smallest square Transform tetriminos with letters Print result */ - print_test(input); + //print_test(input); } else print_error("Usage: Please submit a file.\n"); diff --git a/parse_input.c b/parse_input.c index fde933c..a6f94d1 100644 --- a/parse_input.c +++ b/parse_input.c @@ -6,30 +6,61 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/15 14:48:14 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 20:14:43 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/15 21:33:52 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" /* -** Function that parse a file and return each tetrimino +** Function that parse a file and put each tetrimino in a linked list */ -/* + void parse_input(char *input) { - char *tetri; - int i; + //static t_fillist *list = NULL; + char **square; + int i; + int j; + int k; i = 0; while (input[i]) { - tetri[i] = input[i]; - if (i != 0 && i%19 == 0) + j = 0; + while (j < 4) { - - i+2; + k = 0; + while (k < 4) + square[j][k++] = input[i++]; + j++; } + printf("print:\n%s\n", *square); + //add_to_list(square, &list); + while (input[i] == '\n') + i++; + } +} + +/* +void parse_input(char *input) +{ + //static t_fillist *list = NULL; + char square[19]; + int i; + int j; + + i = 0; + while (input[i]) + { + j = 0; + while (j < 19) + square[j++] = input[i++]; + square[19] = '\0'; + printf("PRINT:\n%s\n", square); + //add_to_list(square, &list); + while (input[i] == '\n') + i++; } } */ From e13cc705242e09ee7463fc9610090dca0ab5e82c Mon Sep 17 00:00:00 2001 From: Manzovince Date: Mon, 15 Apr 2019 21:35:14 +0200 Subject: [PATCH 5/6] .gitignore updated --- .gitignore | 4 ++++ a.out | Bin 9320 -> 0 bytes a.out.dSYM/Contents/Info.plist | 20 -------------------- a.out.dSYM/Contents/Resources/DWARF/a.out | Bin 11321 -> 0 bytes 4 files changed, 4 insertions(+), 20 deletions(-) delete mode 100755 a.out delete mode 100644 a.out.dSYM/Contents/Info.plist delete mode 100644 a.out.dSYM/Contents/Resources/DWARF/a.out diff --git a/.gitignore b/.gitignore index 3eccac0..e525c97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ objs/ *.o + +a\.out\.dSYM/ + +a\.out diff --git a/a.out b/a.out deleted file mode 100755 index e14bb78b3a567ab0eb711af9c7752ebaba696252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9320 zcmeHNU2I!d9Y0RI&KcQmGNGy43iH}#3zWqfq+OweIk21Eie+`yMq(A?&T(vF;W({7 z+9Xm$BsU`Vou>(n2SBhqRvOYO#KVL{m2_x{c!?h(l!pohwMp&PNI^&=RAuJ(JNI7a z+DXw~C;2a(bN;_`&j0g#_~zcM-2KO=4+`OG7GkDJ2%(^e2ZWdvUUK4b6b(h!1AQ;6 zXVuqEvA337wQx^FJ!_b#>u1y-oT;56<=blegoWW7-I0YebUhWGNRczCUSEO1VCXUh zLBwv8HEXw+aY9{BrqaX7YFE9!2_%I2TCEv2wgo(vzI|4QsZSpb$IgWl=&RRv$jx^ z@2fAJw9kaME^ol3QOg>HVkjR2FLM4=zAKl^fc z`Cl&#eo%R@(BFCV>S6RDl@NSLmap2FeV|T+LAf_+z(KTg9ED?yvFY1?MaEn^wqgJD zWHJ>V>-ugN{D=-?66hHe+FS6N?N=7vo^VRK|(X2F$JubW-1va8=M`_{Bj`ntBb*{o&%T|A4cM$4+}T4q})vkz0rlDbW0 zr50QmC31$kdP2Rfu@ zxR=qceeCuKV`w#V&6OQmE&ZxesUQZ_mFE}c7GY3&O0#nVD@vZ{{)%f!EpW!1x{^~@ zF1wUjJ~EW(mE~qZN)=A1YfAn*rqM01oU^%w5kG|QU-(7?7{J<2L6Z>0< zmeevEhN~Gv(C}#HTkg4mJ4*hP)t#9x%Z^!w!g&w@Cq7wpao+5+;H6u}0K{92b|$mk z3RAh-mbrV#ul(X;|6KY`PQ6pj*N-43^F@`WjoV7TqgI&~YOz+TtX%z~XGhiToO-*e zinp_&mSxtU-krK(Fh1nZ(JDtX@jQe9}EY;6LjObeZK*Xkvm4 za|5@Ow_dlRL0T*9nB@Z&=-}s%sc%-pTx} zoO-M3T78%>zp1=c4bw~+!o%*C=dErPH*@M{RaZ64N>(kGWSHLjgxLx^8}(ss+%HTF z)P?EaUtP^s8EWgU)!fLb8&%i#2=k^R%w4P5TDzJzbL!2iuKR?^18tt?OxgP(9}=>Q zxK_=hjr;AJc+SxB=^`%4qGn8Q7sWk!D-?|YZdJ8-B*1+MZYvu=bSnCJr4)~}Rl5&x z)R3cF$_D`nvjH!)@m?-=-K|vqh|3mx0b4!W=gAgu)p+0dD55-d3Ejf>ulvJp0O_B+ z_IdyQ5`sGyI4{a2^&VwPr%}-pEpr@Kd%KC&wIx5Et}u*8eskEM-F4XQ#O!tOh!p|h zmxaPcckyqZ@=V{OhxkP?)O+x*8{S2_>ix4!Tj|S8Z@ZPZw`eDSRQicLXqg2M{DuEZ z#SUyUOlm=DmDw+w^UgCKbDr0p_g^@WRc}_$wU+5UNpI!`ZYY=R--a>|<(zsWr{1Wp z`8Xy?sp>7I84oKEJ<)eS$;(S7-}^HfHXh)Qo@V%Q_;^S3EMF1D@1YA3m##vymha`m zBzm8d6ML6s^V3c(+xsUuZ>{tu=2=dfDXMh*97C0kcTvBR|I##?zSEVCF|_ZDq7tP| zh>UV;mac>ANIoR+M2sg|Ar7FBoGqVu`L}KlT9!#JB8WV1msUu&Non@(FcLYccOgd` zzqMM&P=jq`ppk(_1{xV?WT26OMg|%gXk?&~fkp-z8E9mnk%7-?2HFp{y++sD{ros5 zKZfhW_&$t}*MkZ1j!3k%`}MJ4EH)k@+7EONpQBR|AW1GA-{#%=*r*2>|1@~Y+nD2@MV{YNIhVR9Z)012KN%1k z+P85J_-8yq*x$c7KEleP7r{T`80YFMF1}1Pbv-8Wj=zU2Y{%baVS9aEw6L9DzRKil zJKJBrX9ui$5Uj(|I_w308s#7g$nQl(?8O)U-FsSh?q@v`#V(e6)MOo77ahAcH;xhZ zzkQhOW3=no`G%6=MAA2!js?dieUb5WA~l)1IPU8{Dy>9QKH>19D7zsb$H7-6|2#$~) US{RfWS~T8eCWIX(i)4cS2QyiDMgRZ+ diff --git a/a.out.dSYM/Contents/Info.plist b/a.out.dSYM/Contents/Info.plist deleted file mode 100644 index 3679a65..0000000 --- a/a.out.dSYM/Contents/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleIdentifier - com.apple.xcode.dsym.a.out - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - dSYM - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/a.out.dSYM/Contents/Resources/DWARF/a.out b/a.out.dSYM/Contents/Resources/DWARF/a.out deleted file mode 100644 index 8d4838113e6cb30a7a9b96b49c768f9407896eb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11321 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 HTK<0k1``p! From deef9d63b000ada568ae4951eace3d4024bd0938 Mon Sep 17 00:00:00 2001 From: Manzovince Date: Tue, 16 Apr 2019 11:52:05 +0200 Subject: [PATCH 6/6] parsing_input + create_square v1 Segfault --- parse_input.c | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/parse_input.c b/parse_input.c index a6f94d1..fcddb12 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/15 21:33:52 by vmanzoni ### ########.fr */ +/* Updated: 2019/04/16 11:50:45 by vmanzoni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,37 +16,35 @@ ** Function that parse a file and put each tetrimino in a linked list */ -void parse_input(char *input) +char **create_square(char *tetri) { - //static t_fillist *list = NULL; - char **square; - int i; - int j; - int k; + char **square = NULL; + int i; + int k; i = 0; - while (input[i]) + while (tetri[i]) { - j = 0; - while (j < 4) + k = 0; + *square = malloc((sizeof(char)*4) + 1); + while (k < 4) { - k = 0; - while (k < 4) - square[j][k++] = input[i++]; - j++; + *square[k] = tetri[i]; + k++; + i++; } - printf("print:\n%s\n", *square); - //add_to_list(square, &list); - while (input[i] == '\n') + i++; + //printf("print:\n%s\n", *square); + while (tetri[i] == '\n') i++; } + return (square); } -/* void parse_input(char *input) { - //static t_fillist *list = NULL; - char square[19]; + static t_fillist *list = NULL; + char tetri[20]; int i; int j; @@ -55,12 +53,13 @@ void parse_input(char *input) { j = 0; while (j < 19) - square[j++] = input[i++]; - square[19] = '\0'; - printf("PRINT:\n%s\n", square); - //add_to_list(square, &list); + tetri[j++] = input[i++]; + tetri[19] = '\0'; + //printf("PRINT:\n%s\n", tetri); + if (check_tetri_errors(tetri)) + print_error("Error: Tetrimino not valid."); + add_to_list(create_square(tetri), &list); while (input[i] == '\n') i++; } } -*/