diff options
| -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 | 
