Update and report status even after empty command
When getcommand() reads an empty string, it prints another prompt and reads another line, without running status(). That's bad: * nat_timeused is not updated. Affects the player's prompt, deities' nat selector timeused, and commands edit, players, xdump nat. * Mortal player isn't logged off for game hours, game down, and time limit. * Notifications are delayed: going broke, becoming solvent, new telegrams (toggle inform off only), new announcements, capital lost. Fix by removing the loop. Callers handle empty input just fine since 4.2.2. Side effect: empty commands are now recorded in player_commands[]. That's okay.
This commit is contained in:
parent
2bbe648d78
commit
727e6194c8
1 changed files with 3 additions and 7 deletions
|
@ -77,13 +77,9 @@ getcommand(char *combufp)
|
|||
sprintf(player_commands[player_commands_index], "%3d %3d [prompt]",
|
||||
player_commands_index, player->cnum);
|
||||
|
||||
do {
|
||||
prprompt(natp->nat_timeused / 60, natp->nat_btu);
|
||||
buf[0] = 0;
|
||||
if (recvclient(buf, sizeof(buf)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
} while (buf[0] == 0);
|
||||
prprompt(natp->nat_timeused / 60, natp->nat_btu);
|
||||
if (recvclient(buf, sizeof(buf)) < 0)
|
||||
return -1;
|
||||
|
||||
if (++player_commands_index >= KEEP_COMMANDS)
|
||||
player_commands_index = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue