From bb49c8f99ba5d7f99733ac2d3804ee9e6e9f4831 Mon Sep 17 00:00:00 2001 From: Maelys Date: Mon, 7 Oct 2024 11:48:47 +0200 Subject: [PATCH] fix problem with map --- src/parsing/check_map.c | 24 +++++++++++++++++++++++- src/parsing/principal_pars.c | 2 +- src/utils/parse_utils.c | 2 +- src/utils/parse_utils_two.c | 12 +++++------- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/parsing/check_map.c b/src/parsing/check_map.c index 6740038..305ab98 100644 --- a/src/parsing/check_map.c +++ b/src/parsing/check_map.c @@ -6,7 +6,7 @@ /* By: madumerg +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/11 11:24:13 by madumerg #+# #+# */ -/* Updated: 2024/09/29 20:37:16 by madumerg ### ########.fr */ +/* Updated: 2024/10/07 11:45:16 by madumerg ### ########.fr */ /* */ /* ************************************************************************** */ @@ -58,15 +58,37 @@ int check_map_close(char **map) return (0); } +int last_no_null_line(char **map) +{ + int i; + int j; + + i = 0; + j = 0; + while (map[j]) + { + if (space_line(map[j]) == 1) + i = j; + j++; + } + return (i); +} + int check_char_map(char **map) { int y; int x; + int l; y = 0; + l = last_no_null_line(map); while (map[y]) { x = 0; + if (y == l) + break ; + if (space_line(map[y]) == 0) + return (1); while (map[y][x]) { if (verif_char(map[y][x]) == 1) diff --git a/src/parsing/principal_pars.c b/src/parsing/principal_pars.c index b1915ce..ddc51c3 100644 --- a/src/parsing/principal_pars.c +++ b/src/parsing/principal_pars.c @@ -6,7 +6,7 @@ /* By: madumerg +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/12 12:44:52 by madumerg #+# #+# */ -/* Updated: 2024/10/05 18:35:52 by madumerg ### ########.fr */ +/* Updated: 2024/10/07 11:28:45 by madumerg ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/utils/parse_utils.c b/src/utils/parse_utils.c index 9df2e87..73cfe94 100644 --- a/src/utils/parse_utils.c +++ b/src/utils/parse_utils.c @@ -6,7 +6,7 @@ /* By: madumerg +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/11 14:20:54 by madumerg #+# #+# */ -/* Updated: 2024/09/29 20:35:22 by madumerg ### ########.fr */ +/* Updated: 2024/10/07 11:42:09 by madumerg ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/utils/parse_utils_two.c b/src/utils/parse_utils_two.c index aeceab6..c4aa5ef 100644 --- a/src/utils/parse_utils_two.c +++ b/src/utils/parse_utils_two.c @@ -6,7 +6,7 @@ /* By: madumerg +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/17 15:12:28 by madumerg #+# #+# */ -/* Updated: 2024/09/29 20:35:50 by madumerg ### ########.fr */ +/* Updated: 2024/10/07 11:47:14 by madumerg ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,17 +19,20 @@ int ft_count_line_map(char **file, int y) return (y); } -void replace_nl(char *l) +int replace_nl(char *l) { int i; i = 0; while (l[i]) { + if (l[0] == '\n') + return (err_mess(WRONG_CHAR)); if (l[i] == '\n') l[i] = '\0'; i++; } + return (0); } int recup_map(char **old_map, int i, t_pars *pars) @@ -37,11 +40,6 @@ int recup_map(char **old_map, int i, t_pars *pars) int k; k = i; - while (old_map[i]) - { - replace_nl(old_map[i]); - i++; - } if (verif_all_map(&old_map[k], pars) == 1) return (1); return (0);