4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
14 * Revision 1.14 2008/02/12 22:36:46 james
15 * *** empty log message ***
17 * Revision 1.13 2008/02/08 15:06:42 james
18 * *** empty log message ***
20 * Revision 1.12 2008/02/07 13:26:35 james
21 * *** empty log message ***
23 * Revision 1.11 2008/02/07 13:22:51 james
24 * *** empty log message ***
26 * Revision 1.10 2008/02/07 11:32:41 james
27 * *** empty log message ***
29 * Revision 1.9 2008/02/07 11:11:14 staffcvs
30 * *** empty log message ***
32 * Revision 1.8 2008/02/07 00:43:27 james
33 * *** empty log message ***
35 * Revision 1.7 2008/02/07 00:39:13 james
36 * *** empty log message ***
38 * Revision 1.6 2008/02/06 20:26:58 james
39 * *** empty log message ***
41 * Revision 1.5 2008/02/06 17:53:28 james
42 * *** empty log message ***
44 * Revision 1.4 2008/02/04 20:23:55 james
45 * *** empty log message ***
47 * Revision 1.3 2008/02/04 05:45:55 james
50 * Revision 1.2 2008/02/04 02:05:06 james
51 * *** empty log message ***
53 * Revision 1.1 2008/02/03 16:20:24 james
54 * *** empty log message ***
61 struct termios old = { 0 };
62 static int had_winch = 0;
67 tcsetattr (0, TCSANOW, &old);
81 struct termios raw = { 0 };
92 signal (SIGINT, quit);
94 struct sigaction sa = { 0 };
96 sa.sa_handler = winch;
97 sa.sa_flags = SA_RESTART;
98 sigaction (SIGWINCH, &sa, NULL);
105 tcsetattr (0, TCSANOW, &raw);
117 struct timeval tv = { 0, 100000 };
119 FD_SET (t->fd, &rfd);
121 select (t->fd + 1, &rfd, NULL, NULL, &tv);
124 if (FD_ISSET (a.fd, &rfd))
129 switch (ansi_dispatch (&a, v, t))
136 ansi_draw (&a, &v->crt);
140 if (FD_ISSET (t->fd, &rfd))
142 if (vt102_dispatch_one (v, t, h))
151 ansi_draw (&a, &v->crt);
153 ansi_draw (&a, &v->crt);
155 tcsetattr (0, TCSANOW, &old);