close master/slave pty in the shell process. - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit e8c13ebe8001a7870a70b698d8b8fa80b7c90fd3
 (DIR) parent 5c93f399c564f3475ffa4d3b3314a06db533e410
 (HTM) Author: Aurélien Aptel <aurelien.aptel@gmail.com>
       Date:   Thu, 26 Aug 2010 21:36:21 +0200
       
       close master/slave pty in the shell process.
       
       Diffstat:
         M st.c                                |       6 ++++--
       
       1 file changed, 4 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -247,7 +247,7 @@ ttynew(void) {
                if((m = posix_openpt(O_RDWR | O_NOCTTY)) < 0)
                        die("openpt failed: %s\n", SERRNO);
                if(grantpt(m) < 0)
       -                die("grandpt failed: %s\n", SERRNO);
       +                die("grantpt failed: %s\n", SERRNO);
                if(unlockpt(m) < 0)
                        die("unlockpt failed: %s\n", SERRNO);
                if(!(pts = ptsname(m)))
       @@ -265,7 +265,9 @@ ttynew(void) {
                        dup2(s, STDOUT_FILENO);
                        dup2(s, STDERR_FILENO);
                        if(ioctl(s, TIOCSCTTY, NULL) < 0)
       -                        die("ioctl TTIOCSTTY failed: %s\n", SERRNO);
       +                        die("ioctl TIOCSCTTY failed: %s\n", SERRNO);
       +                close(s);
       +                close(m);
                        execsh();
                        break;
                default: