From d6c2a27d3304842fab285a4217518046b57b771b Mon Sep 17 00:00:00 2001 From: james <> Date: Wed, 27 Feb 2008 09:42:22 +0000 Subject: *** empty log message *** --- apps/mainloop.c | 7 +++++-- apps/mainloop.h | 5 ++++- apps/sympathy.c | 35 ++++++++++++++++++++++++++++------- apps/usage.c | 6 ++++++ 4 files changed, 43 insertions(+), 10 deletions(-) (limited to 'apps') diff --git a/apps/mainloop.c b/apps/mainloop.c index d546ac5..146ebdd 100644 --- a/apps/mainloop.c +++ b/apps/mainloop.c @@ -11,6 +11,9 @@ static char rcsid[] = /* * $Log$ + * Revision 1.16 2008/02/27 09:42:21 james + * *** empty log message *** + * * Revision 1.15 2008/02/27 01:31:38 james * *** empty log message *** * @@ -397,7 +400,7 @@ msg_from_server (ANSI * a, IPC_Msg * m, Context * c) void mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, - ANSI * ansi, Log * log, int nhistory, int width) + ANSI * ansi, Log * log, int nhistory, CRT_Pos *size ) { fd_set rfds, wfds; Context c = { 0 }; @@ -408,7 +411,7 @@ mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, c.tp = tty_parser_new (); c.u = utf8_new (); - c.v = vt102_new (width); + c.v = vt102_new (size); c.h = history_new (nhistory); c.l = log; /* are we being fed by a tty or a socket */ diff --git a/apps/mainloop.h b/apps/mainloop.h index 5d347e7..cea139e 100644 --- a/apps/mainloop.h +++ b/apps/mainloop.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.4 2008/02/27 09:42:21 james + * *** empty log message *** + * * Revision 1.3 2008/02/27 01:31:14 james * *** empty log message *** * @@ -30,6 +33,6 @@ extern void mainloop (TTY * tty, Socket * server_socket, Socket * client_socket, ANSI * a, - Log * log, int nhistory, int width); + Log * log, int nhistory, CRT_Pos *size); #endif /* __MAINLOOP_H__ */ diff --git a/apps/sympathy.c b/apps/sympathy.c index a8dba28..e93c930 100644 --- a/apps/sympathy.c +++ b/apps/sympathy.c @@ -11,6 +11,9 @@ static char rcsid[] = /* * $Log$ + * Revision 1.17 2008/02/27 09:42:21 james + * *** empty log message *** + * * Revision 1.16 2008/02/27 01:31:38 james * *** empty log message *** * @@ -245,7 +248,7 @@ main (int argc, char *argv[]) int c; extern char *optarg; extern int optind, opterr, optopt; - int width = VT102_COLS_80; + CRT_Pos size={VT102_COLS_80,VT102_ROWS}; int oflags[128]; char *oargs[128]; @@ -262,7 +265,7 @@ main (int argc, char *argv[]) memset (oflags, 0, sizeof (oflags)); memset (oargs, 0, sizeof (oargs)); - while ((c = getopt (argc, argv, "w:utscr:lKHd:pb:fL:Fk:n:")) != EOF) + while ((c = getopt (argc, argv, "vw:utscr:lKHd:pb:fL:Fk:n:")) != EOF) { switch (c) { @@ -310,11 +313,16 @@ main (int argc, char *argv[]) sum += (oflags['s'] || oflags['c']) ? 1 : 0; sum += oflags['r']; sum += oflags['l']; + sum += oflags['v']; if (sum != 1) - fatal_moan ("specifiy exactly one of ( -c and or -s ), -t, -r and -l"); + fatal_moan ("specifiy exactly one of ( -c and or -s ), -t, -r, -l and -v"); } + if (oflags['v']) { + fprintf("Version: %s\n",libsympathy_version()); + return 0; + } if (oflags['l']) return list_sockets (); @@ -420,9 +428,22 @@ main (int argc, char *argv[]) if (oflags['w']) { - width = safe_atoi (oargs['w']); - if ((width > VT102_MAX_COLS) || (width < 1)) + char buf[128],*ptr; + strcpy(buf,oargs['w']); + ptr=index(buf,'x'); + if (ptr) { + *ptr=0; + ptr++; + size.y=safe_atoi(ptr); + } + size.x=safe_atoi(buf); + + if ((size.x > VT102_MAX_COLS) || (size.x < 1)) fatal_moan ("-w requires a width between 1 and %d\n", VT102_MAX_COLS); + + if ((size.y > VT102_ROWS) || (size.y < 1)) + fatal_moan ("-w requires a height between 1 and %d\n", VT102_MAX_COLS); + } if (oflags['s'] && !oflags['F']) @@ -443,7 +464,7 @@ main (int argc, char *argv[]) if (oflags['p']) { - tty = ptty_open (NULL, NULL, width); + tty = ptty_open (NULL, NULL, &size); if (!tty) fatal_moan ("unable to open a ptty"); } @@ -500,7 +521,7 @@ main (int argc, char *argv[]) } } - mainloop (tty, server_socket, client_socket, ansi, log, history, width); + mainloop (tty, server_socket, client_socket, ansi, log, history, &size); if (ansi) { diff --git a/apps/usage.c b/apps/usage.c index cf79d6d..598ccb7 100644 --- a/apps/usage.c +++ b/apps/usage.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.12 2008/02/27 09:42:21 james + * *** empty log message *** + * * Revision 1.11 2008/02/27 01:31:38 james * *** empty log message *** * @@ -61,6 +64,7 @@ usage (void) "sympathy -c [-H] [-u] -k skt\n" "sympathy -r id [-H] [-u]\n" "sympathy {-l|-ls}\n" + "sympathy -v\n" "sympathy -h\n" "\n" "Main mode:\n" @@ -75,6 +79,8 @@ usage (void) " -r id client mode: connect to server mode process on socket\n" " ~/.sympathy/id\n" " -l or -ls list active sockets in ~/.sympathy\n" + " -v show version\n" + " -h show help\n" "\n" "Options:\n" " -K lock the serial device. By default sympathy checks that no\n" -- cgit v1.2.3