commit dcba4bf6bd7d7de6ee16926df2845928de52a41f from: rsc date: Tue Jan 11 17:14:07 2005 UTC fixes for openbsd commit - 2e65dc0d024b01f99995983575317ff95cce1755 commit + dcba4bf6bd7d7de6ee16926df2845928de52a41f blob - ec8c5efb0e95a7b12f89c81003099e4f40403200 blob + a9bf6f9a9d101958413c25df0f1cd8e1126e8c3c --- src/cmd/9term/OpenBSD.c +++ src/cmd/9term/OpenBSD.c @@ -1,59 +1,15 @@ -#include -#include -#include -#include -#include -#include -#include -#include "term.h" +#define getpts not_using_this_getpts +#include "bsdpty.c" +#undef getpts int getpts(int fd[], char *slave) { - return openpty(&fd[1], &fd[0], slave, 0, 0); -} - -int -childpty(int fd[], char *slave) -{ - int sfd; - - close(fd[1]); - setsid(); - sfd = open(slave, ORDWR); - if(sfd < 0) - sysfatal("open %s: %r\n", slave); - if(ioctl(sfd, TIOCSCTTY, 0) < 0) - fprint(2, "ioctl TIOCSCTTY: %r\n"); - return sfd; -} - -struct winsize ows; - -void -updatewinsize(int row, int col, int dx, int dy) -{ - struct winsize ws; - - ws.ws_row = row; - ws.ws_col = col; - ws.ws_xpixel = dx; - ws.ws_ypixel = dy; - if(ws.ws_row != ows.ws_row || ws.ws_col != ows.ws_col) - if(ioctl(rcfd[0], TIOCSWINSZ, &ws) < 0) - fprint(2, "ioctl: %r\n"); - ows = ws; -} - -int -israw(int fd) -{ + if(openpty(&fd[1], &fd[0], NULL, NULL, NULL) >= 0){ + fchmod(fd[1], 0620); + strcpy(slave, ttyname(fd[0])); + return 0; + } + sysfatal("no ptys"); return 0; } - -int -setecho(int fd, int on) -{ - return 0; -} - blob - edf161c291992925d729fa940cb09a24753b0398 blob + 1aa46dce549c0ca409d04c617e82ce6f045d9a54 --- src/cmd/9term/rcstart.c +++ src/cmd/9term/rcstart.c @@ -24,7 +24,6 @@ sys(char *buf, int devnull) _exit(2); default: waitpid(); -fprint(2, "done waiting\n"); } }