close master/slave pty in the shell process.
authorAurélien Aptel <aurelien.aptel@gmail.com>
Thu, 26 Aug 2010 19:36:21 +0000 (21:36 +0200)
committerAurélien Aptel <aurelien.aptel@gmail.com>
Thu, 26 Aug 2010 19:36:21 +0000 (21:36 +0200)
st.c

diff --git a/st.c b/st.c
index bef3039..e288902 100644 (file)
--- 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: