Cub3D
Loading...
Searching...
No Matches
flood_fill_utils.c
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* flood_fill_utils.c :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2024/12/01 03:20:47 by kamitsui #+# #+# */
9/* Updated: 2024/12/13 12:52:04 by kamitsui ### ########.fr */
10/* */
11/* ************************************************************************** */
12
13#include "cub3d.h"
14
18int push(t_stack *stack, t_point value)
19{
20 int old_size;
21
22 if (stack->top >= stack->capacity)
23 {
24 old_size = stack->capacity * sizeof(t_point);
25 stack->capacity *= 2;
26 stack->data = (t_point *)ft_realloc_tentative(
27 stack->data, stack->capacity * sizeof(t_point), old_size);
28 if (stack->data == NULL)
29 {
30 perror("Failed to reallocate stack\n");
31 return (EXIT_FAILURE);
32 }
33 }
34 stack->data[stack->top++] = value;
35 return (EXIT_SUCCESS);
36}
37
43t_point pop(t_stack *stack)
44{
45 return (stack->data[--stack->top]);
46}
47
53bool is_empty(t_stack *stack)
54{
55 return (stack->top == 0);
56}
57
58// reference "type_cub3d.h"
59//typedef struct s_stack {
60// t_point *data;
61// int top;
62// int capacity;
63//} t_stack;