chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / libsympathy.c
1 /*
2  * libsympathy.c:
3  *
4  * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
5  * All rights reserved.
6  *
7  */
8
9 static char rcsid[] =
10   "$Id$";
11
12 /*
13  * $Log$
14  * Revision 1.16  2008/02/13 09:12:21  james
15  * *** empty log message ***
16  *
17  * Revision 1.15  2008/02/13 01:08:18  james
18  * *** empty log message ***
19  *
20  * Revision 1.14  2008/02/12 22:36:46  james
21  * *** empty log message ***
22  *
23  * Revision 1.13  2008/02/08 15:06:42  james
24  * *** empty log message ***
25  *
26  * Revision 1.12  2008/02/07 13:26:35  james
27  * *** empty log message ***
28  *
29  * Revision 1.11  2008/02/07 13:22:51  james
30  * *** empty log message ***
31  *
32  * Revision 1.10  2008/02/07 11:32:41  james
33  * *** empty log message ***
34  *
35  * Revision 1.9  2008/02/07 11:11:14  staffcvs
36  * *** empty log message ***
37  *
38  * Revision 1.8  2008/02/07 00:43:27  james
39  * *** empty log message ***
40  *
41  * Revision 1.7  2008/02/07 00:39:13  james
42  * *** empty log message ***
43  *
44  * Revision 1.6  2008/02/06 20:26:58  james
45  * *** empty log message ***
46  *
47  * Revision 1.5  2008/02/06 17:53:28  james
48  * *** empty log message ***
49  *
50  * Revision 1.4  2008/02/04 20:23:55  james
51  * *** empty log message ***
52  *
53  * Revision 1.3  2008/02/04 05:45:55  james
54  * ::
55  *
56  * Revision 1.2  2008/02/04 02:05:06  james
57  * *** empty log message ***
58  *
59  * Revision 1.1  2008/02/03 16:20:24  james
60  * *** empty log message ***
61  *
62  *
63  */
64
65 #include "project.h"
66
67
68
69 void
70 testy (void)
71 {
72   fd_set rfd;
73   struct termios raw = { 0 };
74   ANSI a = { 0 };
75   Context c;
76
77 #if 0
78   int fd;
79   char c;
80
81   TTY *t;
82   VT102 *v;
83   History *h;
84   int i;
85 #endif
86
87
88
89   ansi_reset (&a);
90
91
92   c.t = ptty_open (NULL, NULL);
93   c.v = vt102_new ();
94   c.h = history_new (200);
95   c.l = NULL;
96
97   terminal_register_handlers ();
98   a.terminal = terminal_open (0, 1);
99
100
101   FD_ZERO (&rfd);
102   for (;;)
103     {
104       struct timeval tv = { 0, 100000 };
105
106
107       FD_SET (c.t->rfd, &rfd);
108       FD_SET (a.terminal->rfd, &rfd);
109
110       select (FD_SETSIZE, &rfd, NULL, NULL, &tv);
111
112       ansi_dispatch (&a, &c);
113
114       if (FD_ISSET (c.t->rfd, &rfd))
115         {
116           if (vt102_dispatch (&c))
117             break;
118         }
119
120 #if 0
121       if (had_winch)
122         {
123           had_winch = 0;
124           ansi_getsize (&a);
125           ansi_reset (&a);
126           ansi_draw (&a, &v->crt);
127         }
128 #endif
129       //FIXME history
130       ansi_draw (&a, &c.v->crt);
131     }
132
133   terminal_atexit ();
134 }