/*
* $Log$
+ * Revision 1.18 2008/02/14 00:57:58 james
+ * *** empty log message ***
+ *
+ * Revision 1.17 2008/02/13 16:57:29 james
+ * *** empty log message ***
+ *
+ * Revision 1.16 2008/02/13 09:12:21 james
+ * *** empty log message ***
+ *
+ * Revision 1.15 2008/02/13 01:08:18 james
+ * *** empty log message ***
+ *
* Revision 1.14 2008/02/12 22:36:46 james
* *** empty log message ***
*
*/
#include "project.h"
-
-struct termios old = { 0 };
-static int had_winch = 0;
-
-static void
-quit (int not)
-{
- tcsetattr (0, TCSANOW, &old);
- exit (1);
-}
-
-static void
-winch (int not)
-{
- had_winch++;
-}
-
-
-void
-testy (void)
-{
- struct termios raw = { 0 };
- ANSI a = { 0 };
- fd_set rfd;
- int fd;
- char c;
- TTY *t;
- VT102 *v;
- History *h;
- int i;
-
-
- signal (SIGINT, quit);
- {
- struct sigaction sa = { 0 };
-
- sa.sa_handler = winch;
- sa.sa_flags = SA_RESTART;
- sigaction (SIGWINCH, &sa, NULL);
- }
-
-
- tcgetattr (0, &old);
- tcgetattr (0, &raw);
- cfmakeraw (&raw);
- tcsetattr (0, TCSANOW, &raw);
-
- a.fd = 0;
- ansi_reset (&a);
-
-
- t = tty_new_test ();
- v = vt102_new ();
-
- FD_ZERO (&rfd);
- for (;;)
- {
- struct timeval tv = { 0, 100000 };
-
- FD_SET (t->fd, &rfd);
- FD_SET (a.fd, &rfd);
- select (t->fd + 1, &rfd, NULL, NULL, &tv);
-
-#if 0
- if (FD_ISSET (a.fd, &rfd))
- {
- }
-#endif
-
- switch (ansi_dispatch (&a, v, t))
- {
- case -1:
- break;
- case 1:
- ansi_getsize (&a);
- ansi_reset (&a);
- ansi_draw (&a, &v->crt);
- break;
- }
-
- if (FD_ISSET (t->fd, &rfd))
- {
- if (vt102_dispatch_one (v, t, h))
- break;
- }
-
- if (had_winch)
- {
- had_winch = 0;
- ansi_getsize (&a);
- ansi_reset (&a);
- ansi_draw (&a, &v->crt);
- }
- ansi_draw (&a, &v->crt);
- }
- tcsetattr (0, TCSANOW, &old);
- printf ("QUAT\n");
-}