From 2bdcda2e64180f27c8555520d69dec7ecdc1c1cc Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 21 Aug 2016 07:56:25 -0400 Subject: pty layer: integrated __ntapi_pty_inherit_runtime_ctty(). --- src/ptycon.c | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) (limited to 'src/ptycon.c') diff --git a/src/ptycon.c b/src/ptycon.c index 5c8fe76..20a9aa8 100644 --- a/src/ptycon.c +++ b/src/ptycon.c @@ -46,7 +46,6 @@ static int32_t ptycon_start(int argc, char ** argv, char ** envp) nt_runtime_data * rtdata; nt_port_attr port_attr; nt_pty_client_info client_info; - nt_pty * hpty; nt_iosb iosb; /* rtdata */ @@ -100,35 +99,20 @@ static int32_t ptycon_start(int argc, char ** argv, char ** envp) return status; /* pty */ - client_info.any[0] = rtdata->ptyany[0]; - client_info.any[1] = rtdata->ptyany[1]; - client_info.any[2] = rtdata->ptyany[2]; - client_info.any[3] = rtdata->ptyany[3]; - - status = ntapi->pty_inherit( - rtdata->hsession, - &hpty, - &client_info); - - /* ntaio */ - if (status == NT_STATUS_SUCCESS) { - if (rtdata->stdin_type == NT_FILE_TYPE_PTY) - rtdata->hstdin = hpty; - - if (rtdata->stdout_type == NT_FILE_TYPE_PTY) - rtdata->hstdout = hpty; - - if (rtdata->stderr_type == NT_FILE_TYPE_PTY) - rtdata->hstderr = hpty; + if ((status = ntapi->pty_inherit_runtime_ctty( + rtdata->hsession, + rtdata))) + return status; - /* ctty identification */ + /* ctty identification */ + if (rtdata->hctty) { client_info.any[0] = 0; client_info.any[1] = 0; client_info.any[2] = 0; client_info.any[3] = 0; if ((status = ntapi->pty_set( - hpty,&iosb, + rtdata->hctty,&iosb, &client_info,sizeof(client_info), NT_PTY_CLIENT_INFORMATION))) return status; -- cgit v1.2.3