-
Notifications
You must be signed in to change notification settings - Fork 0
/
exit.c
43 lines (38 loc) · 1.34 KB
/
exit.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* exit.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rertzer <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/19 16:04:42 by rertzer #+# #+# */
/* Updated: 2023/01/05 10:01:32 by rertzer ### ########.fr */
/* */
/* ************************************************************************** */
#include "so_long.h"
void error_exit(t_sldata *sldata, char *msg)
{
ft_printf("Error\n%s\n", msg);
clean_exit(sldata, 1);
}
void clean_exit(t_sldata *sldata, int status)
{
clean_map(sldata->bermap.map, sldata->bermap.size_y);
if (sldata->parrots)
parrot_kill(sldata);
exit(status);
}
void clean_map(char **map, size_t size_y)
{
size_t i;
i = -1;
if (NULL == map)
return ;
while (++i < size_y)
{
if (NULL == map[i])
break ;
free(map[i]);
}
free(map);
}