From: SHIRAKATA Kentaro Date: Tue, 22 Feb 2022 08:21:44 +0000 (+0900) Subject: move validations before their first use X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=757139476fea7be7304ef858a28e0b8c953d74d2;p=nethack move validations before their first use --- diff --git a/src/mkobj.c b/src/mkobj.c index fc27dfbd3..2980ded72 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -2085,7 +2085,7 @@ is_rottable(struct obj *otmp) void place_object(struct obj *otmp, int x, int y) { - register struct obj *otmp2 = g.level.objects[x][y]; + register struct obj *otmp2; if (!isok(x, y)) { /* validate location */ void (*func)(const char *, ...) PRINTF_F(1, 2); @@ -2099,6 +2099,8 @@ place_object(struct obj *otmp, int x, int y) panic("place_object: obj \"%s\" [%d] not free", safe_typename(otmp->otyp), otmp->where); + otmp2 = g.level.objects[x][y]; + obj_no_longer_held(otmp); if (otmp->otyp == BOULDER) { if (!otmp2 || otmp2->otyp != BOULDER)