diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 2000-03-25 00:21:44 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 2000-03-25 00:21:44 +0000 |
commit | d8f703027345170c7bc820ed7808e693dd1377d6 (patch) | |
tree | f9b1b6ad59f19577c0e1c5b6357cb869b4bebfba /Src/Modules | |
parent | d770c43f14ef6e559aa16da1c1408e006bb2a137 (diff) | |
download | zsh-d8f703027345170c7bc820ed7808e693dd1377d6.tar.gz zsh-d8f703027345170c7bc820ed7808e693dd1377d6.tar.xz zsh-d8f703027345170c7bc820ed7808e693dd1377d6.zip |
zsh-3.1.6-dev-20 zsh-3.1.6-dev-20
Diffstat (limited to 'Src/Modules')
-rw-r--r-- | Src/Modules/zpty.c | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/Src/Modules/zpty.c b/Src/Modules/zpty.c index 3692a5224..63135c31b 100644 --- a/Src/Modules/zpty.c +++ b/Src/Modules/zpty.c @@ -165,7 +165,7 @@ get_pty(int *master, int *slave) #else /* ! __osf__ */ -#if defined(__SVR4) || defined(sinix) +#if __SVR4 #include <sys/stropts.h> @@ -174,12 +174,11 @@ get_pty(int *master, int *slave) { int mfd, sfd; char *name; - int ret; if ((mfd = open("/dev/ptmx", O_RDWR)) < 0) return 1; - if (grantpt(mfd) || unlockpt(mfd) || !(name = ptsname(mfd))) { + if (!(name = ptsname(mfd)) || grantpt(mfd) || unlockpt(mfd)) { close(mfd); return 1; } @@ -187,31 +186,31 @@ get_pty(int *master, int *slave) close(mfd); return 1; } - if ((ret = ioctl(sfd, I_FIND, "ptem")) != 1) - if (ret == -1 || ioctl(sfd, I_PUSH, "ptem") == -1) { - close(mfd); - close(sfd); - return 1; - } - if ((ret = ioctl(sfd, I_FIND, "ldterm")) != 1) - if (ret == -1 || ioctl(sfd, I_PUSH, "ldterm") == -1) { - close(mfd); - close(sfd); - return 1; - } - if ((ret = ioctl(sfd, I_FIND, "ttcompat")) != 1) - if (ret == -1 || ioctl(sfd, I_PUSH, "ttcompat") == -1) { - close(mfd); - close(sfd); - return 1; - } + if ((ret = ioctl(sfd, I_FIND, "ptem")) != 1) + if (ret == -1 || ioctl(sfd, I_PUSH, "ptem") == -1) { + close(mfd); + close(sfd); + return 1; + } + if ((ret = ioctl(sfd, I_FIND, "ldterm")) != 1) + if (ret == -1 || ioctl(sfd, I_PUSH, "ldterm") == -1) { + close(mfd); + close(sfd); + return 1; + } + if ((ret = ioctl(sfd, I_FIND, "ttcompat")) != 1) + if (ret == -1 || ioctl(sfd, I_PUSH, "ttcompat") == -1) { + close(mfd); + close(sfd); + return 1; + } *master = mfd; *slave = sfd; return 0; } -#else /* ! (defined(__SVR4) || defined(sinix)) */ +#else /* ! (defined(__SVR4) || defined(sinix)) */ static int get_pty(int *master, int *slave) |