From: PatR Date: Tue, 26 Sep 2017 00:17:06 +0000 (-0700) Subject: doname() bookkeeping X-Git-Tag: NetHack-3.6.1_RC01~337 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cac4344754815a2eabb048c8122ee2d3059406bb;p=nethack doname() bookkeeping doname() for a corpse was using two obufs instead of just one. --- diff --git a/src/objnam.c b/src/objnam.c index ec7c0e70e..5daead647 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -1106,8 +1106,11 @@ unsigned doname_flags; "corpse" is already in the buffer returned by xname() */ unsigned cxarg = (((obj->quan != 1L) ? 0 : CXN_ARTICLE) | CXN_NOCORPSE); + char *cxstr = corpse_xname(obj, prefix, cxarg); - Sprintf(prefix, "%s ", corpse_xname(obj, prefix, cxarg)); + Sprintf(prefix, "%s ", cxstr); + /* avoid having doname(corpse) consume an extra obuf */ + releaseobuf(cxstr); } else if (obj->otyp == EGG) { #if 0 /* corpses don't tell if they're stale either */ if (known && stale_egg(obj))