cio

a simple irc client
Download | Log | Files | Refs | README | LICENSE

commit 07020c66ff3893a9a7cb8ab9d6b2ad0d5c092671
parent f3706757da84fac7c42758bc3bbe94720df82440
Author: Andrew Kloet <andrew@kloet.net>
Date:   Tue, 28 Apr 2026 15:29:03 -0400

update patches

Diffstat:
Mpatches/colornames.diff | 34+++++++++++++++++-----------------
Mpatches/reconnect.diff | 15++++++++-------
2 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/patches/colornames.diff b/patches/colornames.diff @@ -2,21 +2,21 @@ 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/cio.c b/cio.c -index fe90dc3..4470d43 100644 +index f346646..2d3b2b8 100644 --- a/cio.c +++ b/cio.c -@@ -46,8 +46,8 @@ - #define SCROLL 15 - #define INDENT 23 - #define DATEFMT "%H:%M" --#define PFMT " %-12s < %s" --#define PFMTHIGH "> %-12s < %s" -+#define PFMT " \x03%-12s\x03 < %s" -+#define PFMTHIGH ">\x03 %-12s\x03 < %s" - #define SRV "irc.oftc.net" - #define PORT "6697" +@@ -47,8 +47,8 @@ + #define SCROLL 15 + #define INDENT 23 + #define DATEFMT "%H:%M" +-#define PFMT " %-12s < %s" +-#define PFMTHIGH "> %-12s < %s" ++#define PFMT " \x03%-12s\x03 < %s" ++#define PFMTHIGH ">\x03 %-12s\x03 < %s" + #define SRV "irc.oftc.net" + #define PORT "6697" -@@ -219,6 +219,14 @@ b64_enc(const unsigned char *in, size_t len) +@@ -221,6 +221,14 @@ b64_enc(const unsigned char *in, size_t len) return out; } @@ -31,7 +31,7 @@ index fe90dc3..4470d43 100644 static void sndf(const char *fmt, ...) { -@@ -422,6 +430,7 @@ pushl(char *p, char *e) +@@ -414,6 +422,7 @@ pushl(char *p, char *e) char *w; Rune u[2]; cchar_t cc; @@ -39,8 +39,8 @@ index fe90dc3..4470d43 100644 u[1] = 0; if ((w = memchr(p, '\n', e - p))) -@@ -440,7 +449,14 @@ pushl(char *p, char *e) - if (p >= e || *p == ' ' || p - w + INDENT >= (ptrdiff_t)scr.x - 1) { +@@ -432,7 +441,14 @@ pushl(char *p, char *e) + if (p >= e || *p == ' ' || p-w+INDENT >= (ptrdiff_t)scr.x-1) { while (w < p) { w += utf8decode(w, u, UtfSz); - if (wcwidth(*u) > 0 || *u == '\n') { @@ -55,7 +55,7 @@ index fe90dc3..4470d43 100644 setcchar(&cc, u, 0, 0, 0); wadd_wch(scr.mw, &cc); } -@@ -449,7 +465,7 @@ pushl(char *p, char *e) +@@ -441,7 +457,7 @@ pushl(char *p, char *e) } p += utf8decode(p, u, UtfSz); int cl = wcwidth(*u); @@ -64,7 +64,7 @@ index fe90dc3..4470d43 100644 } } -@@ -717,6 +733,12 @@ tinit(void) +@@ -711,6 +727,12 @@ tinit(void) start_color(); use_default_colors(); init_pair(1, COLOR_WHITE, COLOR_BLACK); diff --git a/patches/reconnect.diff b/patches/reconnect.diff @@ -2,10 +2,10 @@ 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/cio.c b/cio.c -index 6eb255d..8951c80 100644 +index f346646..da3d8e9 100644 --- a/cio.c +++ b/cio.c -@@ -82,6 +82,7 @@ enum { +@@ -83,6 +83,7 @@ enum { PingDelay = 6, UtfSz = 4, RuneInvalid = 0xFFFD, @@ -13,7 +13,7 @@ index 6eb255d..8951c80 100644 }; typedef wchar_t Rune; -@@ -941,7 +942,7 @@ main(int argc, char *argv[]) +@@ -927,7 +928,7 @@ main(int argc, char *argv[]) const char *server = SRV; const char *port = PORT; const char *err; @@ -22,7 +22,7 @@ index 6eb255d..8951c80 100644 signal(SIGPIPE, SIG_IGN); while ((o = getopt(argc, argv, "hvTVn:c:u:s:p:l:")) >= 0) -@@ -994,13 +995,14 @@ main(int argc, char *argv[]) +@@ -982,13 +983,14 @@ main(int argc, char *argv[]) tinit(); err = dial(server, port); #ifdef __OpenBSD__ @@ -38,7 +38,7 @@ index 6eb255d..8951c80 100644 while (!quit) { struct timeval t = {.tv_sec = 5}; fd_set rfs, wfs; -@@ -1009,24 +1011,41 @@ main(int argc, char *argv[]) +@@ -997,17 +999,33 @@ main(int argc, char *argv[]) FD_ZERO(&wfs); FD_ZERO(&rfs); FD_SET(0, &rfs); @@ -76,8 +76,9 @@ index 6eb255d..8951c80 100644 } } if (FD_ISSET(srv.fd, &wfs)) { - size_t len = outp - outb; - int wr = ssl ? SSL_write(srv.ssl, outb, len) : write(srv.fd, outb, len); +@@ -1018,7 +1036,8 @@ main(int argc, char *argv[]) + else + wr = write(srv.fd, outb, len); if (wr <= 0) { - die("cio: write failed: connection lost"); + reconn = 1;