chiark / gitweb /
af12ee9857acb021ab49e91eb914f6ecfe50facc
[sympathy.git] / test / test.c
1 /*
2  * test.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.5  2008/02/14 10:34:30  james
15  * *** empty log message ***
16  *
17  * Revision 1.7  2008/02/14 02:46:44  james
18  * *** empty log message ***
19  *
20  * Revision 1.6  2008/02/14 00:57:58  james
21  * *** empty log message ***
22  *
23  * Revision 1.5  2008/02/13 18:05:06  james
24  * *** empty log message ***
25  *
26  * Revision 1.4  2008/02/13 17:21:55  james
27  * *** empty log message ***
28  *
29  * Revision 1.3  2008/02/08 15:06:52  james
30  * *** empty log message ***
31  *
32  * Revision 1.2  2008/02/07 15:42:49  james
33  * *** empty log message ***
34  *
35  * Revision 1.1  2008/02/05 14:25:49  james
36  * *** empty log message ***
37  *
38  */
39
40 #include <sympathy.h>
41
42
43 int
44 main (int argc, char *argv[])
45 {
46   fd_set rfds, wfds;
47   ANSI a = { 0 };
48   Context c;
49
50
51   c.t = ptty_open (NULL, NULL);
52   c.v = vt102_new ();
53   c.h = history_new (200);
54   c.l = file_log_new ("log");
55   c.k = keydis_vt102_new (&c);
56
57   terminal_register_handlers ();
58   a.terminal = terminal_open (0, 1);
59
60   ansi_reset (&a, NULL);
61
62   for (;;)
63     {
64       struct timeval tv = { 10, 0 };
65
66       FD_ZERO (&rfds);
67       FD_ZERO (&wfds);
68
69       tty_pre_select (c.t, &rfds, &wfds);
70       tty_pre_select (a.terminal, &rfds, &wfds);
71
72
73       select (FD_SETSIZE, &rfds, &wfds, NULL, &tv);
74
75       if (FD_ISSET (c.t->rfd, &rfds))
76         {
77           if (vt102_dispatch(&c)) break;
78         }
79
80       ansi_dispatch (&a, &c);
81       ansi_update (&a, &c);
82
83
84     }
85
86   ansi_terminal_reset (&a);
87   terminal_atexit ();
88   printf ("QUAT\n");
89 }