Commit a4d1abf

mo khan <mo.khan@gmail.com>
2021-01-12 23:57:01
do not wait for input
1 parent 74057d2
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;