/*
* $Log$
+ * Revision 1.16 2008/02/28 16:57:52 james
+ * *** empty log message ***
+ *
+ * Revision 1.15 2008/02/27 09:42:53 james
+ * *** empty log message ***
+ *
+ * Revision 1.14 2008/02/27 09:42:22 james
+ * *** empty log message ***
+ *
+ * Revision 1.13 2008/02/27 01:31:38 james
+ * *** empty log message ***
+ *
+ * Revision 1.12 2008/02/27 01:31:14 james
+ * *** empty log message ***
+ *
+ * Revision 1.11 2008/02/26 23:23:17 james
+ * *** empty log message ***
+ *
+ * Revision 1.10 2008/02/24 00:42:53 james
+ * *** empty log message ***
+ *
* Revision 1.9 2008/02/23 13:05:58 staffcvs
* *** empty log message ***
*
}
TTY *
-ptty_open (char *path, char *argv[])
+ptty_open (char *path, char *argv[], CRT_Pos * size)
{
PTTY *t;
pid_t child;
char name[1024];
struct winsize winsize = { 0 };
- struct termios termios = { 0 };
+ struct termios ctermios = { 0 };
int fd;
char *default_argv[] = { "-", (char *) 0 };
- default_termios (&termios);
- cfsetispeed (&termios, B9600);
- cfsetospeed (&termios, B9600);
-
- winsize.ws_row = VT102_ROWS;
- winsize.ws_col = VT102_COLS;
+ client_termios (&ctermios);
+ winsize.ws_row = size ? size->y : VT102_ROWS_24;
+ winsize.ws_col = size ? size->x : VT102_COLS_80;
- child = forkpty (&fd, name, &termios, &winsize);
+ child = forkpty (&fd, name, &ctermios, &winsize);
switch (child)
{
set_nonblocking (fd);
+#if 0
+ {
+ struct termios termios = { 0 };
+
+ tcgetattr (fd, &termios);
+ default_termios (&termios);
+ tcsetattr (fd, TCSANOW, &termios);
+ }
+#endif
+
t = (PTTY *) malloc (sizeof (PTTY));
strncpy (t->name, name, sizeof (t->name));