Witam.
Mam do napisania program, który przy użyciu struktury * termios*, wyłączy echo w terminalu, a ponowne uruchomienie programu, przywróci to echo.
#include <termios.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
int main()
{
if(isatty(0)){
struct termios ustawienia;
if(tcgetattr(0,&ustawienia)<0)
perror("tcgetattr");
printf("c_lflag: %d\n",ustawienia.c_lflag);
ustawienia.c_lflag ^= ~ECHO;
if(tcsetattr(0,TCSANOW,&ustawienia)<0)
perror("tcsetattr");
}
return 0;
}
Program zmienia wartość flagi, co widać po uruchomieniu, jednak echo wciąż jest włączone. Wyświetla się dodatkowo komunikat readline: warning: turning off output flushing Czy gdzieś popełniam błąd w rozumowaniu problemy, czy jest to czysto programistyczny błąd?
Pozdrawiam