From 6fee8a4e789ed54ba805aaf09d4450f05a80a91f Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 26 Jun 2026 15:21:19 -0400 Subject: [PATCH] yet another warning bit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In file included from ../include/hack.h:34, from sp_lev.c:14: In function ‘create_monster’, inlined from ‘lspo_monster’ at sp_lev.c:3386:5: ../include/rm.h:528:32: warning: array subscript -1 is below array bounds of ‘struct monst *[80][21]’ [-Warray-bounds=] 528 | if (!svl.level.monsters[x][y]) \ | ~~~~~~~~~~~~~~~~~~^~~ sp_lev.c:2045:25: note: in expansion of macro ‘remove_monster’ 2045 | remove_monster(x, y); | ^~~~~~~~~~~~~~ ../include/rm.h: In function ‘lspo_monster’: ../include/rm.h:476:19: note: while referencing ‘monsters’ 476 | struct monst *monsters[COLNO][ROWNO]; | ^~~~~~~~ In function ‘create_monster’, inlined from ‘lspo_monster’ at sp_lev.c:3386:5: ../include/rm.h:530:27: warning: array subscript -1 is below array bounds of ‘struct monst *[80][21]’ [-Warray-bounds=] 530 | svl.level.monsters[x][y] = (struct monst *) 0; \ | ~~~~~~~~~~~~~~~~~~^~~ sp_lev.c:2045:25: note: in expansion of macro ‘remove_monster’ 2045 | remove_monster(x, y); | ^~~~~~~~~~~~~~ ../include/rm.h: In function ‘lspo_monster’: ../include/rm.h:476:19: note: while referencing ‘monsters’ 476 | struct monst *monsters[COLNO][ROWNO]; | ^~~~~~~~ --- src/sp_lev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sp_lev.c b/src/sp_lev.c index 496962ae2..163a68925 100644 --- a/src/sp_lev.c +++ b/src/sp_lev.c @@ -2042,7 +2042,8 @@ create_monster(monster *m, struct mkroom *croom) && m_bad_boulder_spot(x, y)) { int retrylimit = 10; - remove_monster(x, y); + if (x >= 0) + remove_monster(x, y); do { x = m->x; y = m->y;