X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=std.c;h=4afdc3cb39fa0164f4e4e1c136ee78e658f7e52a;hb=50b4785f2650a741f827f4be17ecc18844a1b175;hp=a0d9a54930358b490603298cef7a985d9fa5158a;hpb=771ece25e89882a39700d0a24febbda42363d2ef;p=st.git diff --git a/std.c b/std.c index a0d9a54..4afdc3c 100644 --- a/std.c +++ b/std.c @@ -13,7 +13,7 @@ #include #include -#define LENGTH(x) (sizeof (x) / sizeof (x)[0]) +#define LENGTH(x) (sizeof(x) / sizeof((x)[0])) #define MAX(a,b) (((a) > (b)) ? (a) : (b)) #define MIN(a,b) (((a) < (b)) ? (a) : (b)) @@ -107,45 +107,28 @@ 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 @@ -183,7 +166,7 @@ parseesc(void) { s |= QuestionMark; else if(c == ';') { if(!(s & Digit)) - eprint("syntax error"); + eprint("syntax error\n"); s &= ~Digit; j++; } @@ -333,8 +316,5 @@ main(int argc, char *argv[]) { eprint("usage: st [-v]\n"); getpty(); shell(); - fdopen(fptm, "r+"); - if(!fptm) - eprintn("cannot open slave pty"); return 0; }