From 2684824c5089dd98f975e0ac30334ade84efe6b4 Mon Sep 17 00:00:00 2001 From: Jack Halford Date: Mon, 14 Nov 2016 11:13:38 +0100 Subject: [PATCH] no more leaks (checked with valgrind --- fillit/fillit | Bin 29476 -> 0 bytes fillit/includes/fillit.h | 7 +- fillit/src/fillit/fillit_check_waste.c | 2 +- fillit/src/fillit/fillit_fit_blob.c | 2 +- fillit/src/fillit/fillit_parser.c | 93 +++++++++++++------------ fillit/src/fillit/fillit_solver.c | 3 +- fillit/src/fillit/lib_board.c | 2 +- fillit/src/fillit/lib_board2.c | 16 +---- fillit/src/fillit/lib_ttmn.c | 2 +- fillit/src/fillit/main.c | 3 +- fillit/src/libft/ft_sstrfree.c | 11 ++- fillit/src/libft/get_next_line.c | 9 +-- 12 files changed, 71 insertions(+), 79 deletions(-) delete mode 100755 fillit/fillit diff --git a/fillit/fillit b/fillit/fillit deleted file mode 100755 index ec7701439f2df3591cd6baa930d39c7a5e590313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29476 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 ZT6%LqhAgY49pMcnY+TyefPjbo{2NLq+S&jB diff --git a/fillit/includes/fillit.h b/fillit/includes/fillit.h index 9d418d84..5430a9ec 100644 --- a/fillit/includes/fillit.h +++ b/fillit/includes/fillit.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:38:16 by jhalford #+# #+# */ -/* Updated: 2016/11/08 16:51:11 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 11:00:45 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -38,9 +38,6 @@ typedef struct s_stack t_stack; typedef struct s_ttmn t_ttmn; t_list *ft_parse(char *filename); -int ft_parse_line(char *line, int linenumber, t_list **list); -int ft_parse_sharp(int *j, int *k, t_ttmn *ttmn); -int ft_parse_addttmn(int *j, int *k, t_ttmn ttmn, t_list **list); int ft_solver(char **board, t_list *lttmn, int space, int size); int ft_solved(char **board); @@ -49,13 +46,11 @@ int ft_check_waste(char **board, t_list *lttmn, int space, int size); int ft_fit_blob( char **board, t_list *lttmn, int space, int size); int ft_floodfill_recursive(char **board, int size, int i, char c); -int ft_floodfill_stack(char **board, int size, int i, char c); void ft_board_print(char **board); char **ft_board_init(size_t size); char **ft_board_copy(char **board); void ft_board_fill(char **dst, char **src); -void ft_board_free(char ***board); void ft_board_replace(char **board, char a, char b); void ft_board_remove(char **board, char *s); int ft_board_add(char **board, t_ttmn ttmn, int i, int size); diff --git a/fillit/src/fillit/fillit_check_waste.c b/fillit/src/fillit/fillit_check_waste.c index c2ba19cd..937b61f0 100644 --- a/fillit/src/fillit/fillit_check_waste.c +++ b/fillit/src/fillit/fillit_check_waste.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/04 13:24:35 by jhalford #+# #+# */ -/* Updated: 2016/11/08 17:27:04 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:19:04 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/fillit/src/fillit/fillit_fit_blob.c b/fillit/src/fillit/fillit_fit_blob.c index 972e4413..c2c6f4cd 100644 --- a/fillit/src/fillit/fillit_fit_blob.c +++ b/fillit/src/fillit/fillit_fit_blob.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:39:49 by jhalford #+# #+# */ -/* Updated: 2016/11/08 16:59:50 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:19:50 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/fillit/src/fillit/fillit_parser.c b/fillit/src/fillit/fillit_parser.c index a39693dc..3219d9cc 100644 --- a/fillit/src/fillit/fillit_parser.c +++ b/fillit/src/fillit/fillit_parser.c @@ -6,16 +6,55 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:29:51 by jhalford #+# #+# */ -/* Updated: 2016/11/07 12:16:01 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 11:06:01 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" -int g_target = 0; +int g_target = 2; int g_ttmn = 0; -int ft_parse_line(char *line, int linenumber, t_list **list) +static int ft_parse_sharp(int *j, int *k, t_ttmn *ttmn) +{ + static int ref[2]; + + if (*k == 0) + { + ref[0] = *j / 4; + ref[1] = *j % 4; + ttmn->pos[0][0] = 0; + ttmn->pos[0][1] = 0; + } + else if (*k <= 3) + { + ttmn->pos[*k][0] = (*j) / 4 - ref[0]; + ttmn->pos[*k][1] = (*j) % 4 - ref[1]; + } + else + return (1); + *k += 1; + return (0); +} + +static int ft_parse_addttmn(int *j, int *k, t_ttmn ttmn, t_list **list) +{ + static char id = 'A'; + t_list *tmp; + + ttmn.id = id++; + if (*j != 16 || *k != 4) + return (1); + if (ft_ttmn_validate(ttmn)) + return (1); + tmp = ft_lstnew(&ttmn, sizeof(t_ttmn)); + ft_lsteadd(list, tmp); + *j = 0; + *k = 0; + return (0); +} + +static int ft_parse_line(char *line, int linenumber, t_list **list) { static t_ttmn ttmn; static int j = 0; @@ -44,46 +83,7 @@ int ft_parse_line(char *line, int linenumber, t_list **list) return (0); } -int ft_parse_sharp(int *j, int *k, t_ttmn *ttmn) -{ - static int ref[2]; - - if (*k == 0) - { - ref[0] = *j / 4; - ref[1] = *j % 4; - ttmn->pos[0][0] = 0; - ttmn->pos[0][1] = 0; - } - else if (*k <= 3) - { - ttmn->pos[*k][0] = (*j) / 4 - ref[0]; - ttmn->pos[*k][1] = (*j) % 4 - ref[1]; - } - else - return (1); - *k += 1; - return (0); -} - -int ft_parse_addttmn(int *j, int *k, t_ttmn ttmn, t_list **list) -{ - static char id = 'A'; - t_list *tmp; - - ttmn.id = id++; - if (*j != 16 || *k != 4) - return (1); - if (ft_ttmn_validate(ttmn)) - return (1); - tmp = ft_lstnew(&ttmn, sizeof(t_ttmn)); - ft_lsteadd(list, tmp); - *j = 0; - *k = 0; - return (0); -} - -t_list *ft_parse(char *filename) +t_list *ft_parse(char *filename) { int fd; int ret; @@ -98,13 +98,16 @@ t_list *ft_parse(char *filename) while ((ret = get_next_line(fd, &line))) { if (ft_parse_line(line, linenumber++, &list)) + { + free(line); return (0); + } + free(line); } if (ft_parse_line("", linenumber, &list)) return (0); - g_target = 3; g_ttmn = ft_lstsize(list); - while ((g_ttmn * 4) > (g_target) * (g_target)) + while ((g_target) * (g_target) - g_ttmn * 4 < 0) g_target++; return (list); } diff --git a/fillit/src/fillit/fillit_solver.c b/fillit/src/fillit/fillit_solver.c index a0d6388f..eb344003 100644 --- a/fillit/src/fillit/fillit_solver.c +++ b/fillit/src/fillit/fillit_solver.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:36:27 by jhalford #+# #+# */ -/* Updated: 2016/11/08 17:26:58 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:54:50 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,6 +15,7 @@ int ft_solved(char **board) { ft_board_remove(board, "^*"); + ft_sstrfree(g_sol); g_sol = ft_board_copy(board); return (1); } diff --git a/fillit/src/fillit/lib_board.c b/fillit/src/fillit/lib_board.c index 5af72e04..9af3885e 100644 --- a/fillit/src/fillit/lib_board.c +++ b/fillit/src/fillit/lib_board.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:34:39 by jhalford #+# #+# */ -/* Updated: 2016/11/08 17:26:20 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:17:03 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/fillit/src/fillit/lib_board2.c b/fillit/src/fillit/lib_board2.c index 17cd8188..b116685f 100644 --- a/fillit/src/fillit/lib_board2.c +++ b/fillit/src/fillit/lib_board2.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:31:46 by jhalford #+# #+# */ -/* Updated: 2016/11/08 16:49:44 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:15:44 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,20 +40,6 @@ int ft_board_add(char **board, t_ttmn ttmn, int i, int size) return (0); } -void ft_board_free(char ***board) -{ - int i; - - i = 0; - while ((*board)[i]) - { - free((*board)[i]); - i++; - } - free(*board); - *board = NULL; -} - void ft_board_replace(char **board, char a, char b) { int i; diff --git a/fillit/src/fillit/lib_ttmn.c b/fillit/src/fillit/lib_ttmn.c index 191c8155..47a06331 100644 --- a/fillit/src/fillit/lib_ttmn.c +++ b/fillit/src/fillit/lib_ttmn.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:32:01 by jhalford #+# #+# */ -/* Updated: 2016/11/07 12:14:50 by jhalford ### ########.fr */ +/* Updated: 2016/11/11 15:31:49 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/fillit/src/fillit/main.c b/fillit/src/fillit/main.c index f5e31db9..9bc05526 100644 --- a/fillit/src/fillit/main.c +++ b/fillit/src/fillit/main.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 17:31:13 by jhalford #+# #+# */ -/* Updated: 2016/11/08 17:26:50 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:46:17 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,5 +41,6 @@ int main(int ac, char **av) } ft_lstdel(<tmn, &ft_lst_cfree); ft_board_print(g_sol); + ft_sstrfree(g_sol); return (0); } diff --git a/fillit/src/libft/ft_sstrfree.c b/fillit/src/libft/ft_sstrfree.c index a39fd2c2..52e23f98 100644 --- a/fillit/src/libft/ft_sstrfree.c +++ b/fillit/src/libft/ft_sstrfree.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/08 17:01:24 by jhalford #+# #+# */ -/* Updated: 2016/11/08 17:09:26 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 10:38:49 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,9 +17,14 @@ void ft_sstrfree(char **sstr) int i; i = 0; - while (sstr[i]) + if (sstr) { + while (sstr[i]) + { + ft_strdel(sstr + i); + i++; + } ft_strdel(sstr + i); - i++; } + free(sstr); } diff --git a/fillit/src/libft/get_next_line.c b/fillit/src/libft/get_next_line.c index 3263c520..3c7ab4a5 100644 --- a/fillit/src/libft/get_next_line.c +++ b/fillit/src/libft/get_next_line.c @@ -6,14 +6,14 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/04 12:45:02 by jhalford #+# #+# */ -/* Updated: 2016/11/04 13:43:29 by jhalford ### ########.fr */ +/* Updated: 2016/11/14 11:06:04 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" -#define BUFF_SIZE 32 +#define BUFF_SIZE 16 -static char *ft_realloc(char *line, int size) +static char *ft_strrealloc(char *line, int size) { char *str; @@ -41,10 +41,11 @@ static int ft_loop_read(int fd, char **line, char (*save)[]) ft_strcat(*line, buf); return (1); } - if ((*line = ft_realloc(*line, ret)) == NULL) + if ((*line = ft_strrealloc(*line, ret)) == NULL) return (-1); ft_strcat(*line, buf); } + free(*line); return (0); }