fix github issue #686 - dead code

Reported by argrath:  the code in choose_stairs() intended as last
resort wouldn't do anything because the loop's test condition always
started out false.  Fix suggested by entrez.

Closes #686
This commit is contained in:
PatR
2022-02-25 22:35:04 -08:00
parent 4b6b976e3b
commit 7f28a79ae6

View File

@@ -314,24 +314,25 @@ void
choose_stairs(xchar *sx, xchar *sy, boolean dir)
{
xchar x = 0, y = 0;
stairway *stway = g.stairs;
stairway *stway;
boolean stdir = dir && !builds_up(&u.uz);
if ((stway = stairway_find_type_dir(FALSE, stdir)) != 0) {
/* stairs in direction 'stdir' */
x = stway->sx;
y = stway->sy;
} else if ((stway = stairway_find_type_dir(TRUE, stdir)) != 0) {
/* ladder in direction 'stdir' */
x = stway->sx;
y = stway->sy;
} else {
while (stway) {
/* branch stairs in any direction */
for (stway = g.stairs; stway; stway = stway->next)
if (stway->tolev.dnum != u.uz.dnum) {
x = stway->sx;
y = stway->sy;
break;
}
stway = stway->next;
}
}
if (isok(x, y)) {