We are comparing a signed char with unsigned int. The signed char will be
sign exetended when converted to unsigned int causing an unexpected
result.
sent out of his room (caller might resort to goodpos() if
we report failure here, so this isn't full prevention) */
if (mtmp->isshk && inhishop(mtmp)) {
- if (levl[x][y].roomno != ESHK(mtmp)->shoproom)
+ if (levl[x][y].roomno != (unsigned char) ESHK(mtmp)->shoproom)
return FALSE;
} else if (mtmp->ispriest && inhistemple(mtmp)) {
- if (levl[x][y].roomno != EPRI(mtmp)->shroom)
+ if (levl[x][y].roomno != (unsigned char) EPRI(mtmp)->shroom)
return FALSE;
}
/* current location is <xx,yy> */