From 66ffa8e6ea83f94d080171589675279671b5f175 Mon Sep 17 00:00:00 2001 From: Kirill Petrashin Date: Sat, 4 Apr 2026 15:44:27 +0300 Subject: Error out on failure to realloc the stack --- map.c | 4 ++-- stack.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/map.c b/map.c index c46c7db..a433dc0 100644 --- a/map.c +++ b/map.c @@ -142,7 +142,7 @@ Map rbt_maze_map(size_t width, size_t height, unsigned int seed) { visited_clear(visited, width, height); PositionStack ps = ps_new(); - if (ps_push(&ps, beginning_cell) == -1) error("Is the STACK_SIZE zero?"); + ps_push(&ps, beginning_cell); visited[beginning_cell.y][beginning_cell.x] = 1; Position na[4]; @@ -154,7 +154,7 @@ Map rbt_maze_map(size_t width, size_t height, unsigned int seed) { if (nc > 0) { Position next = na[rand() % nc]; Position prev = ps_peek(ps); - if (ps_push(&ps, next) == -1) error("Stack overflow in rbt_maze_map(). Recompile with bigger STACK_SIZE or decrease the map size\n"); + ps_push(&ps, next); visited[next.y][next.x] = 1; map[(next.y * 2 + prev.y * 2) / 2][(next.x * 2 + prev.x * 2) / 2] = EMPTY; } else { diff --git a/stack.c b/stack.c index 8b4c478..d13749e 100644 --- a/stack.c +++ b/stack.c @@ -15,7 +15,7 @@ PositionStack ps_new(void) { int ps_push(PositionStack *ps, Position pos) { if (ps->top >= ps->capacity) { ps->capacity *= STACK_SIZE_COEFFICIENT; - if ((ps->arr = realloc(ps->arr, sizeof(Position) * ps->capacity)) == NULL) return -1; + if ((ps->arr = realloc(ps->arr, sizeof(Position) * ps->capacity)) == NULL) error("Failed to realloc ps->arr\n"); } ps->arr[ps->top] = pos; ps->top += 1; -- cgit v1.2.3