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);
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)