Localize K.
This commit is contained in:
parent
5535c509eb
commit
c0a450c4d6
2 changed files with 3 additions and 7 deletions
4
TODO
4
TODO
|
@ -11,10 +11,6 @@ remain to be cleaned up:
|
|||
in playermove() is particularly horrible, jumping backwards into the
|
||||
middle of a loop.
|
||||
|
||||
* In playermove(), why doesn't replacing the global motion number K
|
||||
with a passed-in argument work? There's some unobvious information
|
||||
leak here.
|
||||
|
||||
* The way return values from handlers such as 2012 trigger side effects
|
||||
based on global state is nasty.
|
||||
|
||||
|
|
6
main.c
6
main.c
|
@ -492,9 +492,9 @@ static void croak(FILE *cmdin)
|
|||
* him, so we need game.oldlc2, which is the last place he was
|
||||
* safe.) */
|
||||
|
||||
static bool playermove(FILE *cmdin, token_t verb)
|
||||
static bool playermove(FILE *cmdin, token_t verb, int motion)
|
||||
{
|
||||
int LL, K2, KK=KEY[game.loc], motion = K;
|
||||
int LL, K2, KK=KEY[game.loc];
|
||||
game.newloc=game.loc;
|
||||
if (KK == 0)
|
||||
BUG(26);
|
||||
|
@ -1056,7 +1056,7 @@ Laction:
|
|||
BUG(99);
|
||||
|
||||
/* Figure out the new location */
|
||||
L8: if (playermove(cmdin, VERB))
|
||||
L8: if (playermove(cmdin, VERB, K))
|
||||
return true;
|
||||
else
|
||||
goto L2000;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue