X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fivac.git;a=blobdiff_plain;f=src%2Finput.c;h=30f60b9a7f03c28d0d79c2d59aea24168825fa2c;hp=14030175d41e77ef1ec25689fb10116c260b9538;hb=0bc14060d26317692d960c39e7e64b74d8963e61;hpb=d3c5d3d150e9f9368b2ba9f8d0f957dbb58c14d4 diff --git a/src/input.c b/src/input.c index 1403017..30f60b9 100644 --- a/src/input.c +++ b/src/input.c @@ -18,11 +18,14 @@ int input_init(t_input *input) { } input->c_count=0; + tcgetattr(0,&(input->tios)); + tios=input->tios; + if(!(input->mode&LINE_BUFFERED)) { - tcgetattr(0,&tios); - /* switch off canonical mode */ tios.c_lflag&=(~ICANON); tios.c_lflag&=(~ECHO); + tios.c_cc[VTIME]=0; + tios.c_cc[VMIN]=1; tcsetattr(0,TCSANOW,&tios); } @@ -31,15 +34,8 @@ int input_init(t_input *input) { int input_shutdown(t_input *input) { - struct termios tios; - free(input->content); - - tcgetattr(0,&tios); - tios.c_lflag|=ICANON; - tios.c_lflag|=ECHO; - tcsetattr(0,TCSANOW,&tios); - + tcsetattr(0,TCSANOW,&(input->tios)); puts("[input] shutdown"); return I_SUCCESS;