return; /* everything diggable here */
found = nonwall = FALSE;
- for (xmin = 0; !found; xmin++) {
+ for (xmin = 0; !found && xmin <= COLNO; xmin++) {
lev = &levl[xmin][0];
for (y = 0; y <= ROWNO - 1; y++, lev++) {
typ = lev->typ;
xmin = 0;
found = nonwall = FALSE;
- for (xmax = COLNO - 1; !found; xmax--) {
+ for (xmax = COLNO - 1; !found && xmax >= 0; xmax--) {
lev = &levl[xmax][0];
for (y = 0; y <= ROWNO - 1; y++, lev++) {
typ = lev->typ;
xmax = COLNO - 1;
found = nonwall = FALSE;
- for (ymin = 0; !found; ymin++) {
+ for (ymin = 0; !found && ymin <= ROWNO; ymin++) {
lev = &levl[xmin][ymin];
for (x = xmin; x <= xmax; x++, lev += ROWNO) {
typ = lev->typ;
ymin -= (nonwall || !level.flags.is_maze_lev) ? 2 : 1;
found = nonwall = FALSE;
- for (ymax = ROWNO - 1; !found; ymax--) {
+ for (ymax = ROWNO - 1; !found && ymax >= 0; ymax--) {
lev = &levl[xmin][ymax];
for (x = xmin; x <= xmax; x++, lev += ROWNO) {
typ = lev->typ;