diff --git a/src/pickup.c b/src/pickup.c index 647f1daa9..c0ef2b0cf 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -722,9 +722,9 @@ struct obj *obj; *ape = iflags.autopickup_exceptions; if (ape) { char *objdesc = makesingular(doname(obj)); - do if (regex_match(objdesc, ape->regex)) return ape; - while (ape = ape->next); + while (ape && !regex_match(objdesc, ape->regex)) ape = ape->next; } + return ape; } boolean