Fix off-by-two bug.

This commit is contained in:
Eric S. Raymond 2017-07-14 12:39:06 -04:00
parent 040e027a71
commit 1954c04ccc
2 changed files with 5 additions and 5 deletions

View file

@ -1,3 +1,3 @@
extralines=""" extralines="""
<p>There is a <a href="http://esr.gitlab.io/open-adventure/coverage/">code coverage analysis</a></p> <p>There is a <a href="http://esr.gitlab.io/open-adventure/coverage/">code coverage analysis</a> and a <a href="http://esr.gitlab.io/open-adventure/coverage/adventure.yaml.html">symbol coverage analysis</p>
""" """

8
main.c
View file

@ -1124,17 +1124,17 @@ Lclosecheck:
if (command.id1 == ENTER && command.id2 != WORD_NOT_FOUND && command.id2 != WORD_EMPTY) { if (command.id1 == ENTER && command.id2 != WORD_NOT_FOUND && command.id2 != WORD_EMPTY) {
command.id1 = command.id2; command.id1 = command.id2;
command.type1 = command.type2; command.type1 = command.type2;
strncpy(command.raw1, command.raw2, LINESIZE + 1); strncpy(command.raw1, command.raw2, LINESIZE - 1);
command.id2 = WORD_EMPTY; command.id2 = WORD_EMPTY;
command.type2 = NO_WORD_TYPE; command.type2 = NO_WORD_TYPE;
strncpy(command.raw2, "", LINESIZE + 1); strncpy(command.raw2, "", LINESIZE - 1);
} else { } else {
if (!((command.id1 != WATER && command.id1 != OIL) || (command.id2 != PLANT && command.id2 != DOOR))) { if (!((command.id1 != WATER && command.id1 != OIL) || (command.id2 != PLANT && command.id2 != DOOR))) {
if (AT(command.id2)) if (AT(command.id2))
{ {
command.id2 = POUR; command.id2 = POUR;
command.type2 = ACTION; command.type2 = ACTION;
strncpy(command.raw2, "POUR", LINESIZE + 1); strncpy(command.raw2, "POUR", LINESIZE - 1);
command.wd2 = token_to_packed("POUR"); command.wd2 = token_to_packed("POUR");
} }
} }
@ -1142,7 +1142,7 @@ Lclosecheck:
{ {
command.id1 = CARRY; command.id1 = CARRY;
command.type1 = ACTION; command.type1 = ACTION;
strncpy(command.raw2, "CATCH", LINESIZE + 1); strncpy(command.raw2, "CATCH", LINESIZE - 1);
command.wd1 = token_to_packed("CATCH"); command.wd1 = token_to_packed("CATCH");
} }
} }