drop support for proprietary UNIX variants

Proprietary UNIX variants like AIX, HP-UX or SCO UNIX
are nowadays rarely used and maintaining compatibility to
non-standard operating systems interfaces is wasteful and
practically useless.

Projects like xterm suffer from backward compatibility to decades-old
UNIX variants and terminal standards. This does not conform to st's
design goals.
This commit is contained in:
Matthias-Christian Ott 2008-06-02 18:40:22 +02:00
parent 375efb8891
commit e2ac1676b1

18
std.c
View file

@ -107,45 +107,31 @@ getpty(void) {
ptm = getpt(); ptm = getpt();
#elif _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 #elif _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
ptm = posix_openpt(O_RDWR); 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 #else
ptm = open("/dev/ptmx", O_RDWR); ptm = open("/dev/ptmx", O_RDWR);
#if defined(__hpux)
if(ptm == -1)
ptm = open("/dev/ptym/clone", O_RDWR);
#endif
if(ptm == -1) { if(ptm == -1) {
if(openpty(&ptm, &pts, NULL, NULL, NULL) == -1) if(openpty(&ptm, &pts, NULL, NULL, NULL) == -1)
eprintn("error, cannot open pty"); eprintn("error, cannot open pty");
return; return;
} }
#endif #endif
#if defined(_XOPEN_SOURCE)
if(ptm != -1) { if(ptm != -1) {
#if defined(_XOPEN_SOURCE) || !defined(__sgi) || !defined(_AIX)
if(grantpt(ptm) == -1) if(grantpt(ptm) == -1)
eprintn("error, cannot grant access to pty"); eprintn("error, cannot grant access to pty");
if(unlockpt(ptm) == -1) if(unlockpt(ptm) == -1)
eprintn("error, cannot unlock pty"); eprintn("error, cannot unlock pty");
ptsdev = ptsname(ptm); ptsdev = ptsname(ptm);
#elif defined(_AIX)
ptsdev = ttyname(ptm);
#endif
if(!ptsdev) if(!ptsdev)
eprintn("error, slave pty name undefined"); eprintn("error, slave pty name undefined");
pts = open(ptsdev, O_RDWR); pts = open(ptsdev, O_RDWR);
if(pts == -1) if(pts == -1)
eprintn("error, cannot open slave pty"); eprintn("error, cannot open slave pty");
puts(ptsdev); puts(ptsdev);
#if defined(__hpux) || defined(sun) || defined(__sun)
ioctl(pts, I_PUSH, "ptem");
ioctl(pts, I_PUSH, "ldterm");
#endif
} }
else else
eprintn("error, cannot open pty"); eprintn("error, cannot open pty");
#endif
} }
void void