aboutsummaryrefslogtreecommitdiff
path: root/parse
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-11 13:11:27 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-11 13:11:27 +0100
commit2fdb9ad1d66e28e056f31bc6321d2c198db33290 (patch)
treec3c32462b6a09f1a9f393cc0216c2ffe3bdaaa09 /parse
parentcff05e83256a67b8cb23b16b1e1e6f761ff52f4c (diff)
downloadcub3d-2fdb9ad1d66e28e056f31bc6321d2c198db33290.tar.gz
cub3d-2fdb9ad1d66e28e056f31bc6321d2c198db33290.tar.bz2
cub3d-2fdb9ad1d66e28e056f31bc6321d2c198db33290.zip
Error messages with error helper
Diffstat (limited to 'parse')
-rw-r--r--parse/parse.c26
-rw-r--r--parse/parse_check.c12
2 files changed, 17 insertions, 21 deletions
diff --git a/parse/parse.c b/parse/parse.c
index 84a8957..3eb8846 100644
--- a/parse/parse.c
+++ b/parse/parse.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/11/15 09:29:21 by cacharle #+# #+# */
-/* Updated: 2020/01/11 11:29:45 by cacharle ### ########.fr */
+/* Updated: 2020/01/11 12:59:58 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -19,32 +19,26 @@ t_state *parse(char *filename)
t_state *state;
if ((state = state_new_empty()) == NULL)
- return (NULL);
+ return (error_put_return("create empty state"));
if ((lines = get_file_lines(filename)) == NULL)
- return (state_destroy(state));
- /* for (int i = 0; lines[i]; i++) */
- /* printf("%d [%s]\n", i, lines[i]); */
+ return (error_put_return_state_destroy("read .cub file", state));
i = -1;
while (lines[++i] != NULL)
{
if (*lines[i] == '1')
break ;
if (!parse_line(state, lines[i]))
- {
- helper_free_splited(lines);
- return (state_destroy(state));
- }
+ return (error_put_return_lines_state_destroy(
+ "parse configuration", state, lines));
}
if ((state = parse_map(state, lines + i)) == NULL)
- {
- helper_free_splited(lines);
- return (state_destroy(state));
- }
+ return (error_put_return_lines_state_destroy(
+ "parse map", state, lines));
helper_free_splited(lines);
return (state);
}
-char **get_file_lines(char *filename)
+char **get_file_lines(char *filename)
{
int fd;
int ret;
@@ -81,7 +75,7 @@ static t_option_parser g_option_parsers[] =
#define OPTIONS_PARSERS_SIZE (sizeof(g_option_parsers) / sizeof(t_option_parser))
-t_bool parse_line(t_state *state, char *line)
+t_bool parse_line(t_state *state, char *line)
{
int i;
@@ -115,7 +109,7 @@ t_state *parse_map(t_state *state, char **lines)
return (state);
}
-t_cell *create_map_row(char *line)
+t_cell *create_map_row(char *line)
{
int i;
t_cell *row;
diff --git a/parse/parse_check.c b/parse/parse_check.c
index 7bcfc8b..a65d74a 100644
--- a/parse/parse_check.c
+++ b/parse/parse_check.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/01/11 10:59:15 by cacharle #+# #+# */
-/* Updated: 2020/01/11 11:15:04 by cacharle ### ########.fr */
+/* Updated: 2020/01/11 13:03:33 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,19 +15,21 @@
t_state *parse_check(t_state *state)
{
int i;
- int j;
- int player_count;
+ /* int j; */
+ /* int player_count; */
i = -1;
while (++i < state->map_width)
if (state->map[0][i] != CELL_WALL
|| state->map[state->map_height - 1][i] != CELL_WALL)
- return (state_destroy(state));
+ return (error_put_return_state_destroy(
+ "validate map without borders", state));
i = -1;
while (++i < state->map_height)
if (state->map[i][0] != CELL_WALL
|| state->map[i][state->map_width - 1] != CELL_WALL)
- return (state_destroy(state));
+ return (error_put_return_state_destroy(
+ "validate map without borders", state));
// maybe not necessary
/* player_count = 0; */
/* i = -1; */