Handle multiple input characters at once.

This commit is contained in:
Felicity Tarnell 2014-03-07 22:00:47 +00:00
parent 9a3719817e
commit 0c3b7443d5

40
tts.c
View file

@ -455,7 +455,6 @@ struct kevent64_s evs[2], rev;
fd_set in_set; fd_set in_set;
struct timeval timeout; struct timeval timeout;
#endif #endif
if (doexit) if (doexit)
break; break;
@ -509,32 +508,31 @@ struct kevent64_s evs[2], rev;
continue; continue;
#endif #endif
if (GETCH(&c) == ERR) { while (GETCH(&c) != ERR) {
if (doexit)
break;
if (time(NULL) - laststatus >= 2)
drawstatus(WIDE(""));
if (time(NULL) - lastsave > 60)
save();
continue;
}
#ifdef KEY_RESIZE #ifdef KEY_RESIZE
if (c == KEY_RESIZE) if (c == KEY_RESIZE)
continue; continue;
#endif #endif
drawstatus(WIDE("")); drawstatus(WIDE(""));
TTS_TAILQ_FOREACH(bi, &bindings, bi_entries) { TTS_TAILQ_FOREACH(bi, &bindings, bi_entries) {
if (bi->bi_code != c) if (bi->bi_code != c)
continue; continue;
bi->bi_func->fn_hdl(); bi->bi_func->fn_hdl();
goto next; goto next;;
}
drawstatus(WIDE("Unknown command."));
next: ;
} }
drawstatus(WIDE("Unknown command.")); if (doexit)
next: ; break;
if (time(NULL) - laststatus >= 2)
drawstatus(WIDE(""));
if (time(NULL) - lastsave > 60)
save();
} }
save(); save();