diff options
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | conio.c | 15 | ||||
| -rw-r--r-- | conio.h | 20 |
3 files changed, 23 insertions, 16 deletions
@@ -1,9 +1,9 @@ CC=gcc -CFLAGS=-I. -pthread +CFLAGS=-I. -pthread -fsanitize=address DESTDIR=/usr/local/bin generate: - $(CC) -o snake snake.c vector.c $(CFLAGS) + $(CC) -o snake snake.c vector.c conio.c $(CFLAGS) install: cp snake $(DESTDIR) @@ -0,0 +1,15 @@ +#include "./conio.h" +#include <termios.h> +#include <unistd.h> +#include <stdio.h> +int getch(void) { + struct termios oldattr, newattr; + int ch; + tcgetattr(STDIN_FILENO, &oldattr); + newattr = oldattr; + newattr.c_lflag &= ~(ICANON | ECHO); + tcsetattr(STDIN_FILENO, TCSANOW, &newattr); + ch = getchar(); + tcsetattr(STDIN_FILENO, TCSANOW, &oldattr); + return ch; +} @@ -1,14 +1,6 @@ -#include <termios.h> -#include <unistd.h> -#include <stdio.h> -int getch(void) { - struct termios oldattr, newattr; - int ch; - tcgetattr(STDIN_FILENO, &oldattr); - newattr = oldattr; - newattr.c_lflag &= ~(ICANON | ECHO); - tcsetattr(STDIN_FILENO, TCSANOW, &newattr); - ch = getchar(); - tcsetattr(STDIN_FILENO, TCSANOW, &oldattr); - return ch; -} +#ifndef CONIO_H +#define CONIO_H + +int getch(void); + +#endif |
