From 63abab3ba42f94c69677fced4f8b414e59ec4a37 Mon Sep 17 00:00:00 2001 From: james <> Date: Thu, 14 Feb 2008 10:36:18 +0000 Subject: *** empty log message *** --- apps/client.c | 7 ++++-- apps/clients.c | 14 ++++++----- apps/clients.h | 28 ++++++++++++---------- apps/sympathyd.c | 25 +++++++++++++------- src/tty.c | 10 +++++--- src/vt102.c | 6 +++-- test/test.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++------- 7 files changed, 119 insertions(+), 42 deletions(-) diff --git a/apps/client.c b/apps/client.c index 28526f2..541603b 100644 --- a/apps/client.c +++ b/apps/client.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.5 2008/02/14 10:34:47 james + * *** empty log message *** + * * Revision 1.4 2008/02/14 10:34:30 james * *** empty log message *** * @@ -53,8 +56,8 @@ server_msg (IPC_Msg * m, Context * c) vt102_parse (c, m->term.term, m->term.len); break; case IPC_MSG_TYPE_STATUS: - vt102_status_line(c->v,m->status.status); - break; + vt102_status_line (c->v, m->status.status); + break; default: fprintf (stderr, "Unhandeled message type %d\n", m->hdr.type); } diff --git a/apps/clients.c b/apps/clients.c index cd7bcee..40713a9 100644 --- a/apps/clients.c +++ b/apps/clients.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.5 2008/02/14 10:34:47 james + * *** empty log message *** + * * Revision 1.4 2008/02/14 10:34:30 james * *** empty log message *** * @@ -180,8 +183,9 @@ send_status (Clients * cs, char *msg) Client *c; - if (!msg) return; - len=strlen(msg)+1; + if (!msg) + return; + len = strlen (msg) + 1; if (!len) return; @@ -190,8 +194,8 @@ send_status (Clients * cs, char *msg) m->size = len + sizeof (IPC_Msg_status); m->type = IPC_MSG_TYPE_STATUS; - strncpy(m->status,msg, IPC_MAX_BUF); - m->status[IPC_MAX_BUF-1]=0; + strncpy (m->status, msg, IPC_MAX_BUF); + m->status[IPC_MAX_BUF - 1] = 0; for (c = cs->head; c; c = c->next) { @@ -262,5 +266,3 @@ send_vt102 (VT102 * v, Client * c) c->dead++; } - - diff --git a/apps/clients.h b/apps/clients.h index 605b3cd..f8dd9f1 100644 --- a/apps/clients.h +++ b/apps/clients.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.5 2008/02/14 10:34:47 james + * *** empty log message *** + * * Revision 1.4 2008/02/14 10:34:30 james * *** empty log message *** * @@ -44,17 +47,18 @@ typedef struct /* clients.c */ -extern void client_free(Client *c); -extern Client *clients_new_client(Clients *cs, Socket *s, Context *ctx); -extern void clients_reap(Clients *cs); -extern Clients *clients_new(void); -extern void clients_pre_select(Clients *cs, fd_set *rfds, fd_set *wfds); -extern void clients_post_select(Clients *cs, Context *ctx, fd_set *rfds, fd_set *wfds); -extern void clients_shutdown(Clients *cs); - -extern int send_output(Clients *cs, void *buf, int len); -extern int send_status(Clients *cs, char *msg); -extern void send_history(History *h, Client *c); -extern void send_vt102(VT102 *v, Client *c); +extern void client_free (Client * c); +extern Client *clients_new_client (Clients * cs, Socket * s, Context * ctx); +extern void clients_reap (Clients * cs); +extern Clients *clients_new (void); +extern void clients_pre_select (Clients * cs, fd_set * rfds, fd_set * wfds); +extern void clients_post_select (Clients * cs, Context * ctx, fd_set * rfds, + fd_set * wfds); +extern void clients_shutdown (Clients * cs); + +extern int send_output (Clients * cs, void *buf, int len); +extern int send_status (Clients * cs, char *msg); +extern void send_history (History * h, Client * c); +extern void send_vt102 (VT102 * v, Client * c); #endif diff --git a/apps/sympathyd.c b/apps/sympathyd.c index 49dd312..352b6a9 100644 --- a/apps/sympathyd.c +++ b/apps/sympathyd.c @@ -11,6 +11,9 @@ static char rcsid[] = /* * $Log$ + * Revision 1.9 2008/02/14 10:34:47 james + * *** empty log message *** + * * Revision 1.8 2008/02/14 10:34:30 james * *** empty log message *** * @@ -174,7 +177,7 @@ log_line_changes (Context * ctx, int old, int new) } static char * -do_line (char *ptr,int lines, int line) +do_line (char *ptr, int lines, int line) { char *lname; @@ -207,8 +210,9 @@ check_status (Context * c, Clients * cs) log_line_changes (c, old_status.lines, status.lines); - t=c->t->name; - if (!strncmp(t,"/dev/",5)) t+=5; + t = c->t->name; + if (!strncmp (t, "/dev/", 5)) + t += 5; while (*t) *(ptr++) = *(t++); @@ -220,12 +224,13 @@ check_status (Context * c, Clients * cs) ptr = do_line (ptr, status.lines, TIOCM_DSR); ptr = do_line (ptr, status.lines, TIOCM_RI); - if (status.crtscts) { - t=", Flow"; - while (*t) - *(ptr++) = *(t++); + if (status.crtscts) + { + t = ", Flow"; + while (*t) + *(ptr++) = *(t++); } - + if (status.lines & TIOCM_CD) { ptr += @@ -239,7 +244,9 @@ check_status (Context * c, Clients * cs) status.cd_edge_sec % 60); } - ptr += sprintf (ptr, ", %d client%s", status.nclients,(status.nclients==1) ? "":"s"); + ptr += + sprintf (ptr, ", %d client%s", status.nclients, + (status.nclients == 1) ? "" : "s"); *ptr = 0; diff --git a/src/tty.c b/src/tty.c index fb60246..cd90810 100644 --- a/src/tty.c +++ b/src/tty.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.8 2008/02/14 10:36:18 james + * *** empty log message *** + * * Revision 1.7 2008/02/14 10:34:30 james * *** empty log message *** * @@ -211,13 +214,14 @@ int tty_get_status (TTY * t, TTY_Status * s) { - s->lines=0; + s->lines = 0; ioctl (t->rfd, TIOCMGET, &s->lines); if (tcgetattr (t->rfd, &s->termios)) return -1; - - s->baud=speed_t_to_baud(cfgetispeed(&s->termios)); + + s->baud = speed_t_to_baud (cfgetispeed (&s->termios)); + s->blocked = t->blocked; return 0; } diff --git a/src/vt102.c b/src/vt102.c index d33d309..f481c1a 100644 --- a/src/vt102.c +++ b/src/vt102.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.28 2008/02/14 10:34:30 james + * *** empty log message *** + * * Revision 1.27 2008/02/14 02:46:45 james * *** empty log message *** * @@ -1187,7 +1190,6 @@ vt102_parse_char (Context * c, int ch) v->current_line = v->pos; } - vt102_status_line (v, "VT102 foo bar baz I'm the urban spaceman baby"); } vt102_parse (Context * c, char *buf, int len) @@ -1413,7 +1415,7 @@ vt102_reset (VT102 * v) vt102_save_state (v); - vt102_status_line (v, "VT102 foo bar baz I'm the urban spaceman baby"); + vt102_status_line (v, ""); } diff --git a/test/test.c b/test/test.c index 92ffdda..af12ee9 100644 --- a/test/test.c +++ b/test/test.c @@ -6,29 +6,84 @@ * */ -static char rcsid[] = "$Id$"; +static char rcsid[] = + "$Id$"; /* * $Log$ - * Revision 1.4 2008/02/14 00:57:58 james + * Revision 1.5 2008/02/14 10:34:30 james * *** empty log message *** * - * Revision 1.3 2008/02/13 18:05:06 james + * Revision 1.7 2008/02/14 02:46:44 james * *** empty log message *** * - * Revision 1.2 2008/02/04 11:30:57 james + * Revision 1.6 2008/02/14 00:57:58 james * *** empty log message *** * - * Revision 1.1 2008/02/03 16:20:24 james + * Revision 1.5 2008/02/13 18:05:06 james + * *** empty log message *** + * + * Revision 1.4 2008/02/13 17:21:55 james + * *** empty log message *** + * + * Revision 1.3 2008/02/08 15:06:52 james + * *** empty log message *** + * + * Revision 1.2 2008/02/07 15:42:49 james + * *** empty log message *** + * + * Revision 1.1 2008/02/05 14:25:49 james * *** empty log message *** * */ -#include "sympathy.h" +#include + -int main(int argc,char *argv[]) +int +main (int argc, char *argv[]) { + fd_set rfds, wfds; + ANSI a = { 0 }; + Context c; + + + c.t = ptty_open (NULL, NULL); + c.v = vt102_new (); + c.h = history_new (200); + c.l = file_log_new ("log"); + c.k = keydis_vt102_new (&c); + + terminal_register_handlers (); + a.terminal = terminal_open (0, 1); + + ansi_reset (&a, NULL); + + for (;;) + { + struct timeval tv = { 10, 0 }; + + FD_ZERO (&rfds); + FD_ZERO (&wfds); + + tty_pre_select (c.t, &rfds, &wfds); + tty_pre_select (a.terminal, &rfds, &wfds); + + + select (FD_SETSIZE, &rfds, &wfds, NULL, &tv); + + if (FD_ISSET (c.t->rfd, &rfds)) + { + if (vt102_dispatch(&c)) break; + } + + ansi_dispatch (&a, &c); + ansi_update (&a, &c); + + } -return 0; + ansi_terminal_reset (&a); + terminal_atexit (); + printf ("QUAT\n"); } -- cgit v1.2.3