diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/clients.c | 6 | ||||
-rw-r--r-- | apps/mainloop.c | 58 | ||||
-rw-r--r-- | apps/sympathy.c | 16 | ||||
-rw-r--r-- | apps/usage.c | 12 |
4 files changed, 66 insertions, 26 deletions
diff --git a/apps/clients.c b/apps/clients.c index 069ae40..598121e 100644 --- a/apps/clients.c +++ b/apps/clients.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.11 2008/02/23 11:48:51 james + * *** empty log message *** + * * Revision 1.10 2008/02/22 17:06:59 james * *** empty log message *** * @@ -66,6 +69,9 @@ client_msg (IPC_Msg * m, Context * c) break; case IPC_MSG_TYPE_SETBAUD: tty_set_baud (c->t, m->setbaud.baud); + tty_parse_reset (c); + + log_f (c->l, "<baud changed to %d>", m->setbaud.baud); break; case IPC_MSG_TYPE_SENDBREAK: tty_send_break (c->t); diff --git a/apps/mainloop.c b/apps/mainloop.c index 7fb269a..ad2812e 100644 --- a/apps/mainloop.c +++ b/apps/mainloop.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.9 2008/02/23 11:48:51 james + * *** empty log message *** + * * Revision 1.8 2008/02/22 23:39:30 james * *** empty log message *** * @@ -300,8 +303,29 @@ check_status (Context * c, Clients * cs) sprintf (ptr, ", %d client%s", status.nclients, (status.nclients == 1) ? "" : "s"); + if (c->tp->biterrs) + { + + ptr += + sprintf (ptr, ", %d err%s", c->tp->biterrs, + (c->tp->biterrs == 1) ? "" : "s"); + + if (c->tp->guessed_baud == -1) + { + ptr += sprintf (ptr, " try higher"); + } + else if (c->tp->guessed_baud > 0) + { + ptr += sprintf (ptr, " try %d", status.baud / c->tp->guessed_baud); + } + } + *ptr = 0; +#if 0 + log_f (c->l, "%s:%d %s", __FILE__, __LINE__, buf); +#endif + if (cs) send_status (cs, buf); else @@ -311,7 +335,7 @@ check_status (Context * c, Clients * cs) static int -msg_from_server (ANSI *a,IPC_Msg * m, Context * c) +msg_from_server (ANSI * a, IPC_Msg * m, Context * c) { switch (m->hdr.type) { @@ -330,10 +354,11 @@ msg_from_server (ANSI *a,IPC_Msg * m, Context * c) *(c->v) = m->vt102.vt102; - if (a->one_shot) { - a->one_shot(a,&c->v->crt); - return 1; - } + if (a->one_shot) + { + a->one_shot (a, &c->v->crt); + return 1; + } //FIXME HTML hook break; case IPC_MSG_TYPE_TERM: @@ -345,7 +370,7 @@ msg_from_server (ANSI *a,IPC_Msg * m, Context * c) default: fprintf (stderr, "Unhandeled message type %d\n", m->hdr.type); } -return 0; + return 0; } @@ -357,6 +382,8 @@ mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, Context c = { 0 }; Clients *clients; + c.tp = tty_parser_new (); + c.u = utf8_new (); c.v = vt102_new (); c.h = history_new (nhistory); @@ -401,7 +428,7 @@ mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, for (;;) { - struct timeval tv = { 1, 0 }; + struct timeval tv = { 0, 250000 }; if ((c.d) && (c.d->disconnect)) break; @@ -476,18 +503,19 @@ mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, /*any data from the server */ if (client_socket) { - int one_shot; + int one_shot; if (socket_post_select (client_socket, &rfds, &wfds)) break; while (client_socket->msg) { - if (msg_from_server (ansi,client_socket->msg, &c)) - one_shot++; - + if (msg_from_server (ansi, client_socket->msg, &c)) + one_shot++; + socket_consume_msg (client_socket); } - if (one_shot) break; + if (one_shot) + break; } @@ -495,10 +523,10 @@ mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, if (ansi) { if (ansi->dispatch) - ansi->dispatch (ansi, &c); + ansi->dispatch (ansi, &c); - if (ansi->update) - ansi->update (ansi, &c); + if (ansi->update) + ansi->update (ansi, &c); } } diff --git a/apps/sympathy.c b/apps/sympathy.c index 4ea7bf0..b24e6d0 100644 --- a/apps/sympathy.c +++ b/apps/sympathy.c @@ -6,10 +6,14 @@ * */ -static char rcsid[] = "$Id$"; +static char rcsid[] = + "$Id$"; /* * $Log$ + * Revision 1.12 2008/02/23 11:48:52 james + * *** empty log message *** + * * Revision 1.11 2008/02/20 20:16:07 james * *** empty log message *** * @@ -471,13 +475,13 @@ main (int argc, char *argv[]) if (oflags['H']) { - ansi=ansi_new_html(stdout); + ansi = ansi_new_html (stdout); } else { terminal_register_handlers (); - ansi=ansi_new_from_terminal(terminal_open(0,1)); - ansi->reset(ansi, NULL); + ansi = ansi_new_from_terminal (terminal_open (0, 1)); + ansi->reset (ansi, NULL); } } @@ -485,7 +489,7 @@ main (int argc, char *argv[]) if (ansi) { - ansi->close(ansi); + ansi->close (ansi); terminal_atexit (); } @@ -500,6 +504,6 @@ main (int argc, char *argv[]) socket_free (client_socket); if (!oflags['H']) - printf ("you have now exited sympathy\n"); + printf ("you have now exited sympathy\n"); return 0; } diff --git a/apps/usage.c b/apps/usage.c index 1a9273f..b0893d2 100644 --- a/apps/usage.c +++ b/apps/usage.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.7 2008/02/23 11:48:52 james + * *** empty log message *** + * * Revision 1.6 2008/02/20 18:49:11 staffcvs * *** empty log message *** * @@ -40,9 +43,9 @@ usage (void) fprintf (stderr, "Usage:\n" "sympathy -t [-K] [-d serialdev|-p] [-b baud] [-f] [-L log]\n" "sympathy -s [-K] [-d serialdev|-p] [-b baud] [-f] [-L log] [-F] [-k skt]\n" - " [-n hlines]\n" + " [-n hlines]\n" "sympathy [-s -c] [-K] [-d serialdev|-p] [-b baud] [-f] [-L log] [-k skt]\n" - " [-n hlines]\n" + " [-n hlines]\n" "sympathy -c [-H] -k skt\n" "sympathy -r id [-H]\n" "sympathy {-l|-ls}\n" @@ -81,9 +84,8 @@ usage (void) " -H instead of connecting the user's terminal to the session\n" " emit HTML of the current state of the screen on stdout\n" " -L log activity on the device to the file log\n" - " -n hlines the number of lines of history to store in the\n" - " server, that are replayed on connexion\n" -); + " -n hlines the number of lines of history to store in the\n" + " server, that are replayed on connexion\n"); exit (1); } |