X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fptty.c;h=860928e0135aa5ea81aa0802c22c46921a124047;hb=cd3c335082e66f9a790a5bbb0f24a7ec49c9d3d5;hp=b59f823e40f8ebc667aacd8ee2208824ef308de5;hpb=b1a35823c1660150770c939fb378e93b4f3066b1;p=sympathy.git diff --git a/src/ptty.c b/src/ptty.c index b59f823..860928e 100644 --- a/src/ptty.c +++ b/src/ptty.c @@ -10,6 +10,21 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.7 2008/02/22 17:07:00 james + * *** empty log message *** + * + * Revision 1.6 2008/02/22 14:51:54 james + * *** empty log message *** + * + * Revision 1.5 2008/02/15 23:52:12 james + * *** empty log message *** + * + * Revision 1.4 2008/02/14 10:39:14 james + * *** empty log message *** + * + * Revision 1.3 2008/02/13 09:12:21 james + * *** empty log message *** + * * Revision 1.2 2008/02/12 22:36:46 james * *** empty log message *** * @@ -118,16 +133,22 @@ ptty_open (char *path, char *argv[]) struct winsize winsize = { 0 }; struct termios termios; int fd; - char *default_argv = { "-", (char *) 0 }; + char *default_argv[] = { "-", (char *) 0 }; + + + default_termios (&termios); + + winsize.ws_row = VT102_ROWS; + winsize.ws_col = VT102_COLS; child = forkpty (&fd, name, &termios, &winsize); switch (child) { case -1: /*boo hiss */ - return -1; + return NULL; case 0: /*waaah */ - setenv ("TERM", "vt102", 1); + setenv ("TERM", "xterm", 1); setenv ("LANG", "C", 1); if (!path) path = "/bin/sh"; @@ -146,19 +167,17 @@ ptty_open (char *path, char *argv[]) strncpy (t->name, name, sizeof (t->name)); t->name[sizeof (t->name) - 1] = 0; - t->read = ptty_read; - t->write = ptty_write; + t->recv = ptty_read; + t->xmit = ptty_write; t->close = ptty_close; - - default_termios (&termios); - - winsize.ws_row = VT102_ROWS; - winsize.ws_col = VT102_COLS; - - t->fd = open_fd_to_pty (path, argv); - t->pid = child; + t->fd = fd; + t->child = child; t->rfd = t->fd; - t->wfd = 0; + t->wfd = t->fd; + t->size.x = winsize.ws_row; + t->size.y = winsize.ws_col; + t->blocked = 0; + t->hanging_up = 0; return (TTY *) t; }