From c91f142bdbdef082c37b482e6d35d86b9f049d39 Mon Sep 17 00:00:00 2001 From: PatR Date: Mon, 2 Jan 2023 23:25:38 -0800 Subject: [PATCH] score feedback punctuation "Killed by Ms. Manlobbi, the shopkeeper" has the comma changed to a semi-colon prior to being stored in 'record'. That's intentional, but "Killed by Ms. Manlobbi; the shopkeeper" looks strange when shown to the player. Change semi-colon back to comma when writing scores for display. --- src/topten.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/topten.c b/src/topten.c index be47f08a6..6bd833d32 100644 --- a/src/topten.c +++ b/src/topten.c @@ -1029,8 +1029,14 @@ outentry(int rank, struct toptenentry *t1, boolean so) Strcat(linebuf, "."); /* Quit, starved, ascended, and escaped contain no second line */ - if (second_line) - Sprintf(eos(linebuf), " %c%s.", highc(*(t1->death)), t1->death + 1); + if (second_line) { + bp = eos(linebuf); + Sprintf(bp, " %c%s.", highc(*(t1->death)), t1->death + 1); + /* fix up "Killed by Mr. Asidonhopo; the shopkeeper"; that starts + with a comma but has it changed to semi-colon to keep the comma + out of 'record'; change it back for display */ + (void) strsubst(bp, "; the ", ", the "); + } lngr = (int) strlen(linebuf); if (t1->hp <= 0) @@ -1038,9 +1044,9 @@ outentry(int rank, struct toptenentry *t1, boolean so) else Sprintf(hpbuf, "%d", t1->hp); /* beginning of hp column after padding (not actually padded yet) */ - hppos = COLNO - (sizeof(" Hp [max]") - 1); /* sizeof(str) includes \0 */ + hppos = COLNO - (int) (sizeof " Hp [max]" - sizeof ""); while (lngr >= hppos) { - for (bp = eos(linebuf); !(*bp == ' ' && (bp - linebuf < hppos)); bp--) + for (bp = eos(linebuf); !(*bp == ' ' && bp - linebuf < hppos); bp--) ; /* special case: word is too long, wrap in the middle */ if (linebuf + 15 >= bp)