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]",
|
sprintf(player_commands[player_commands_index], "%3d %3d [prompt]",
|
||||||
player_commands_index, player->cnum);
|
player_commands_index, player->cnum);
|
||||||
|
|
||||||
do {
|
|
||||||
prprompt(natp->nat_timeused / 60, natp->nat_btu);
|
prprompt(natp->nat_timeused / 60, natp->nat_btu);
|
||||||
buf[0] = 0;
|
if (recvclient(buf, sizeof(buf)) < 0)
|
||||||
if (recvclient(buf, sizeof(buf)) < 0) {
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
} while (buf[0] == 0);
|
|
||||||
|
|
||||||
if (++player_commands_index >= KEEP_COMMANDS)
|
if (++player_commands_index >= KEEP_COMMANDS)
|
||||||
player_commands_index = 0;
|
player_commands_index = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue