From: SHIRAKATA Kentaro Date: Tue, 8 Feb 2022 20:27:21 +0000 (+0900) Subject: move null-check on tin_details() X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9bd8bcdcfb4466f0c51b614aafb36feaff02e6fd;p=nethack move null-check on tin_details() Move null-check of obj and buf before their first use. --- diff --git a/src/eat.c b/src/eat.c index ce264a2ab..b2fc857e4 100644 --- a/src/eat.c +++ b/src/eat.c @@ -1237,30 +1237,32 @@ void tin_details(struct obj *obj, int mnum, char *buf) { char buf2[BUFSZ]; + + if (!obj || !buf) + return; + int r = tin_variety(obj, TRUE); - if (obj && buf) { - if (r == SPINACH_TIN) - Strcat(buf, " of spinach"); - else if (mnum == NON_PM) - Strcpy(buf, "empty tin"); - else { - if ((obj->cknown || iflags.override_ID) && obj->spe < 0) { - if (r == ROTTEN_TIN || r == HOMEMADE_TIN) { - /* put these before the word tin */ - Sprintf(buf2, "%s %s of ", tintxts[r].txt, buf); - Strcpy(buf, buf2); - } else { - Sprintf(eos(buf), " of %s ", tintxts[r].txt); - } + if (r == SPINACH_TIN) + Strcat(buf, " of spinach"); + else if (mnum == NON_PM) + Strcpy(buf, "empty tin"); + else { + if ((obj->cknown || iflags.override_ID) && obj->spe < 0) { + if (r == ROTTEN_TIN || r == HOMEMADE_TIN) { + /* put these before the word tin */ + Sprintf(buf2, "%s %s of ", tintxts[r].txt, buf); + Strcpy(buf, buf2); } else { - Strcpy(eos(buf), " of "); + Sprintf(eos(buf), " of %s ", tintxts[r].txt); } - if (vegetarian(&mons[mnum])) - Sprintf(eos(buf), "%s", mons[mnum].pmnames[NEUTRAL]); - else - Sprintf(eos(buf), "%s meat", mons[mnum].pmnames[NEUTRAL]); + } else { + Strcpy(eos(buf), " of "); } + if (vegetarian(&mons[mnum])) + Sprintf(eos(buf), "%s", mons[mnum].pmnames[NEUTRAL]); + else + Sprintf(eos(buf), "%s meat", mons[mnum].pmnames[NEUTRAL]); } }