diff options
Diffstat (limited to 'std.c')
-rw-r--r-- | std.c | 18 |
1 files changed, 2 insertions, 16 deletions
@@ -107,45 +107,31 @@ getpty(void) { ptm = getpt(); #elif _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 ptm = posix_openpt(O_RDWR); -#elif defined(__sgi) - ttydev = _getpty(&ptm, O_RDWR, 0622, 0); -#elif defined(_AIX) - ptm = open("/dev/ptc", O_RDWR); #else ptm = open("/dev/ptmx", O_RDWR); -#if defined(__hpux) - if(ptm == -1) - ptm = open("/dev/ptym/clone", O_RDWR); -#endif if(ptm == -1) { if(openpty(&ptm, &pts, NULL, NULL, NULL) == -1) eprintn("error, cannot open pty"); return; } #endif +#if defined(_XOPEN_SOURCE) if(ptm != -1) { -#if defined(_XOPEN_SOURCE) || !defined(__sgi) || !defined(_AIX) if(grantpt(ptm) == -1) eprintn("error, cannot grant access to pty"); if(unlockpt(ptm) == -1) eprintn("error, cannot unlock pty"); ptsdev = ptsname(ptm); -#elif defined(_AIX) - ptsdev = ttyname(ptm); -#endif if(!ptsdev) eprintn("error, slave pty name undefined"); pts = open(ptsdev, O_RDWR); if(pts == -1) eprintn("error, cannot open slave pty"); puts(ptsdev); -#if defined(__hpux) || defined(sun) || defined(__sun) - ioctl(pts, I_PUSH, "ptem"); - ioctl(pts, I_PUSH, "ldterm"); -#endif } else eprintn("error, cannot open pty"); +#endif } void |