From: Eric S. Raymond Date: Mon, 3 Jul 2017 20:49:33 +0000 (-0400) Subject: Entirely eliminate wd1x and wd2x members of the command block. X-Git-Tag: takebird~64 X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=commitdiff_plain;h=393010ec41c3c6c25fab05284a76c51ac3135a7b Entirely eliminate wd1x and wd2x members of the command block. In the process, fix another case-smashing bug. --- diff --git a/actions.c b/actions.c index fdf2319..b079bd3 100644 --- a/actions.c +++ b/actions.c @@ -1,5 +1,6 @@ #include #include +#include #include "advent.h" #include "dungeon.h" @@ -1037,11 +1038,11 @@ static int rub(token_t verb, token_t obj) static int say(struct command_t *command) /* Say. Echo WD2 (or WD1 if no WD2 (SAY WHAT?, etc.).) Magic words override. */ { - long a = command->wd1, b = command->wd1x; + long a = command->wd1; if (command->wd2 > 0) { a = command->wd2; - b = command->wd2x; command->wd1 = command->wd2; + strcpy(command->raw1, command->raw2); } char word1[TOKLEN+1]; packed_to_token(command->wd1, word1); @@ -1056,7 +1057,7 @@ static int say(struct command_t *command) wordclear(&command->wd2); return GO_LOOKUP; } - rspeak(OKEY_DOKEY, a, b); + sspeak(OKEY_DOKEY, command->raw1); return GO_CLEAROBJ; } diff --git a/advent.h b/advent.h index 560b150..61d3e4e 100644 --- a/advent.h +++ b/advent.h @@ -181,8 +181,8 @@ struct command_t { enum speechpart part; vocab_t verb; vocab_t obj; - token_t wd1, wd1x; - token_t wd2, wd2x; + token_t wd1; + token_t wd2; char raw1[BUFSIZ], raw2[BUFSIZ]; }; diff --git a/tests/illformed.chk b/tests/illformed.chk index d682a61..77e098f 100644 --- a/tests/illformed.chk +++ b/tests/illformed.chk @@ -564,7 +564,7 @@ Though you flap your arms furiously, it is to no avail. > say boo -Okay, "BOO". +Okay, "boo". > score