}
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);
}
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;