X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftesttty.c;h=dbdc918635b6dcb9da95563c334041eb3780cd78;hb=51d34367859892cb87c8727d93a02ed9f82fe958;hp=2cef3e0bda8e59956cbf74a32118ab3eeca23dee;hpb=bccbb005f8c19eea74ced6a0078146915fec40cd;p=sympathy.git diff --git a/src/testtty.c b/src/testtty.c index 2cef3e0..dbdc918 100644 --- a/src/testtty.c +++ b/src/testtty.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.2 2008/02/04 02:05:06 james + * *** empty log message *** + * * Revision 1.1 2008/02/04 01:32:39 james * *** empty log message *** * @@ -17,60 +20,63 @@ static char rcsid[] = "$Id$"; #include "project.h" -static void default_termios(struct termios *termios) +static void +default_termios (struct termios *termios) { -memset(termios,0,sizeof(termios)); - -termios->c_iflag=ICRNL|IXON; -termios->c_oflag=OPOST | ONLCR | NL0 | CR0 | TAB0 | BS0 | VT0 | FF0; -termios->c_lflag=ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOKE; - -termios->c_cc[VINTR]=003; -termios->c_cc[VQUIT]=034; -termios->c_cc[VERASE]=0177; -termios->c_cc[VKILL]=025; -termios->c_cc[VEOF]=004; -termios->c_cc[VEOL]=0; -termios->c_cc[VEOL2]=0; -termios->c_cc[VSTART]=021; -termios->c_cc[VSTOP]=023; -termios->c_cc[VSUSP]=032; -termios->c_cc[VLNEXT]=026; -termios->c_cc[VWERASE]=027; -termios->c_cc[VREPRINT]=022; -termios->c_cc[VDISCARD]=017; - -termios->c_cflag=CS8 | CREAD | CLOCAL; - -cfsetispeed(termios,B9600); -cfsetospeed(termios,B9600); + memset (termios, 0, sizeof (termios)); + + termios->c_iflag = ICRNL | IXON; + termios->c_oflag = OPOST | ONLCR | NL0 | CR0 | TAB0 | BS0 | VT0 | FF0; + termios->c_lflag = + ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOKE; + + termios->c_cc[VINTR] = 003; + termios->c_cc[VQUIT] = 034; + termios->c_cc[VERASE] = 0177; + termios->c_cc[VKILL] = 025; + termios->c_cc[VEOF] = 004; + termios->c_cc[VEOL] = 0; + termios->c_cc[VEOL2] = 0; + termios->c_cc[VSTART] = 021; + termios->c_cc[VSTOP] = 023; + termios->c_cc[VSUSP] = 032; + termios->c_cc[VLNEXT] = 026; + termios->c_cc[VWERASE] = 027; + termios->c_cc[VREPRINT] = 022; + termios->c_cc[VDISCARD] = 017; + + termios->c_cflag = CS8 | CREAD | CLOCAL; + + cfsetispeed (termios, B9600); + cfsetospeed (termios, B9600); } -int open_fd_to_bash(void) /*thump*/ +int +open_fd_to_bash (void) /*thump */ { -pid_t child; -int fd; -struct winsize winsize={0}; -struct termios termios; + pid_t child; + int fd; + struct winsize winsize = { 0 }; + struct termios termios; -default_termios(&termios); + default_termios (&termios); -winsize.ws_row=CRT_ROWS; -winsize.ws_col=CRT_COLS; + winsize.ws_row = CRT_ROWS; + winsize.ws_col = CRT_COLS; -child=forkpty(&fd,NULL,&termios,&winsize); + child = forkpty (&fd, NULL, &termios, &winsize); -switch (child) -{ -case -1:/*boo hiss*/ - return -1; -case 0: /*waaah*/ - setenv("TERM","vt102",1); - execl("/bin/sh","-",(char *) 0); - _exit(-1); -} + switch (child) + { + case -1: /*boo hiss */ + return -1; + case 0: /*waaah */ + setenv ("TERM", "vt102", 1); + execl ("/bin/sh", "-", (char *) 0); + _exit (-1); + } -return fd; + return fd; }