diff --git a/include/extern.h b/include/extern.h index afc254024..73c108b8b 100644 --- a/include/extern.h +++ b/include/extern.h @@ -778,7 +778,7 @@ extern void cant_reach_floor(int, int, boolean, boolean); extern const char *surface(int, int); extern const char *ceiling(int, int); extern struct engr *engr_at(xchar, xchar); -extern int sengr_at(const char *, xchar, xchar, boolean); +extern boolean sengr_at(const char *, xchar, xchar, boolean); extern void u_wipe_engr(int); extern void wipe_engr_at(xchar, xchar, xchar, boolean); extern void read_engr_at(int, int); diff --git a/src/engrave.c b/src/engrave.c index 9e6384cb2..5f071a3dc 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -268,16 +268,15 @@ engr_at(xchar x, xchar y) * If strict checking is requested, the word is only considered to be * present if it is intact and is the entire content of the engraving. */ -int +boolean sengr_at(const char *s, xchar x, xchar y, boolean strict) { register struct engr *ep = engr_at(x, y); if (ep && ep->engr_type != HEADSTONE && ep->engr_time <= g.moves) { - return strict ? (fuzzymatch(ep->engr_txt, s, "", TRUE)) - : (strstri(ep->engr_txt, s) != 0); + return (strict ? !strcmpi(ep->engr_txt, s) + : (strstri(ep->engr_txt, s) != 0)); } - return FALSE; }