Commit a4d1abf
Changed files (1)
kilo.c
@@ -19,6 +19,8 @@ void enable_raw_mode() {
raw.c_lflag &= ~(OPOST);
raw.c_lflag &= ~(CS8);
raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
+ raw.c_cc[VMIN] = 0;
+ raw.c_cc[VTIME] = 1;
tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw);
}
@@ -26,13 +28,15 @@ void enable_raw_mode() {
int main() {
enable_raw_mode();
- char c;
- while (read(STDIN_FILENO, &c, 1) == 1 && c != 'q'){
+ while (1) {
+ char c = '\0';
+ read(STDIN_FILENO, &c, 1);
if (iscntrl(c)) {
printf("%d\r\n", c);
} else {
printf("%d ('%c')\r\n", c, c);
}
+ if (c == 'q') break;
}
return 0;