chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / libsympathy.c
index 8f28c17aa2e73c3e11ae257bb04bb02176de8027..9c3608b166069d3c7a0408d41ee454c0c19897d6 100644 (file)
@@ -11,6 +11,24 @@ static char rcsid[] =
 
 /*
  * $Log$
+ * Revision 1.13  2008/02/08 15:06:42  james
+ * *** empty log message ***
+ *
+ * Revision 1.12  2008/02/07 13:26:35  james
+ * *** empty log message ***
+ *
+ * Revision 1.11  2008/02/07 13:22:51  james
+ * *** empty log message ***
+ *
+ * Revision 1.10  2008/02/07 11:32:41  james
+ * *** empty log message ***
+ *
+ * Revision 1.9  2008/02/07 11:11:14  staffcvs
+ * *** empty log message ***
+ *
+ * Revision 1.8  2008/02/07 00:43:27  james
+ * *** empty log message ***
+ *
  * Revision 1.7  2008/02/07 00:39:13  james
  * *** empty log message ***
  *
@@ -64,6 +82,8 @@ testy (void)
   char c;
   TTY *t;
   VT102 *v;
+  History *h;
+  int i;
 
 
   signal (SIGINT, quit);
@@ -85,8 +105,8 @@ testy (void)
   ansi_reset (&a);
 
 
-  t=tty_new_test();  
-  v=vt102_new(t);
+  t = tty_new_test ();
+  v = vt102_new ();
 
   FD_ZERO (&rfd);
   for (;;)
@@ -102,12 +122,23 @@ testy (void)
         {
         }
 #endif
-       if (ansi_dispatch(&a,v))
-               break;
 
-      if (FD_ISSET (t->fd, &rfd)) {
-          if (vt102_dispatch (v)) break;
-      }
+      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)
         {
@@ -116,7 +147,7 @@ testy (void)
           ansi_reset (&a);
           ansi_draw (&a, &v->crt);
         }
-       ansi_draw (&a, &v->crt);
+      ansi_draw (&a, &v->crt);
     }
   tcsetattr (0, TCSANOW, &old);
   printf ("QUAT\n");