X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibreadline.so_src%2Fmain.c;h=a12abc595f01a583782b4badfbbd01268ad88afc;hb=f08db69fead837d87c11a63bc89120bc80c31450;hp=58db03a54b208d782dbd5c041f9271f526442e00;hpb=52fad670ab81459de0ff1bd0fa99a3396a6999e3;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libreadline.so_src/main.c b/Usermode/Libraries/libreadline.so_src/main.c index 58db03a5..a12abc59 100644 --- a/Usermode/Libraries/libreadline.so_src/main.c +++ b/Usermode/Libraries/libreadline.so_src/main.c @@ -6,6 +6,7 @@ */ #include #include +#include #include #include #include @@ -110,9 +111,17 @@ char *Readline_NonBlock(tReadline *Info) char *Readline(tReadline *Info) { char *ret; + + // stty -echo,canon + struct ptymode mode = {.InputMode = 0, .OutputMode = 0}; + _SysIOCtl(STDIN_FD, PTY_IOCTL_SETMODE, &mode); while( NULL == (ret = Readline_NonBlock(Info)) ); - + + // stty +echo,canon + mode.InputMode = PTYIMODE_CANON|PTYIMODE_ECHO; + _SysIOCtl(STDIN_FD, PTY_IOCTL_SETMODE, &mode); + return ret; }