diff options
author | erw7 <erw7.github@gmail.com> | 2019-11-16 13:45:37 +0900 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2020-01-17 11:36:28 +0100 |
commit | 2c8016c7048051da9afd809b580cf8f2d2c69614 (patch) | |
tree | 30020e865a94cd6c3e19ff346a1c16fa5f62cbd3 /src/nvim/main.c | |
parent | 60c7eabb2feeb95f405deca6680bdd59113edcaa (diff) | |
download | rneovim-2c8016c7048051da9afd809b580cf8f2d2c69614.tar.gz rneovim-2c8016c7048051da9afd809b580cf8f2d2c69614.tar.bz2 rneovim-2c8016c7048051da9afd809b580cf8f2d2c69614.zip |
Add stdin, stdout replacement functions
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index c7011f4f4e..be279b449a 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -64,6 +64,9 @@ #include "nvim/os/os.h" #include "nvim/os/time.h" #include "nvim/os/fileio.h" +#ifdef WIN32 +# include "nvim/os/os_win_console.h" +#endif #include "nvim/event/loop.h" #include "nvim/os/signal.h" #include "nvim/event/process.h" @@ -1120,13 +1123,7 @@ scripterror: const int stdin_dup_fd = os_dup(STDIN_FILENO); #ifdef WIN32 // Replace the original stdin with the console input handle. - close(STDIN_FILENO); - const HANDLE conin_handle = - CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ, (LPSECURITY_ATTRIBUTES)NULL, - OPEN_EXISTING, 0, (HANDLE)NULL); - const int conin_fd = _open_osfhandle(conin_handle, _O_RDONLY); - assert(conin_fd == STDIN_FILENO); + os_replace_stdin_to_conin(); #endif FileDescriptor *const stdin_dup = file_open_fd_new( &error, stdin_dup_fd, kFileReadOnly|kFileNonBlocking); |