- tcgetattr(0,&tios);
- /* switch off canonical mode */
- tios.c_lflag&=(~ICANON);
- tios.c_lflag&=(~ECHO);
- tcsetattr(0,TCSANOW,&tios);
+ tcgetattr(0,&(input->tios));
+ tios=input->tios;
+
+ if(!(input->mode&LINE_BUFFERED)) {
+ tios.c_lflag&=(~ICANON);
+ tios.c_lflag&=(~ECHO);
+ tios.c_cc[VTIME]=0;
+ tios.c_cc[VMIN]=1;
+ tcsetattr(0,TCSANOW,&tios);
+ }