From 8b31abd0e78318f75f952e59a8c3b65eea41cb86 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Mon, 20 May 2013 16:21:17 +0800 Subject: [PATCH] Usermode/libreadline - Fixed for new PTY --- Usermode/Libraries/libreadline.so_src/main.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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; } -- 2.20.1