iAdd clean output for long lines. - irc - Unnamed repository; edit this file 'description' to name the repository. Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/irc.git URL:git://vernunftzentrum.de/irc.git vernunftzentrum.de 70 1Log /ckeen/repos/irc/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/irc/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/irc/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/irc/file/README.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit d29cd51fd4ed8c891bbe6efd7b4f9b5cf67e96e1 /ckeen/repos/irc/commit/d29cd51fd4ed8c891bbe6efd7b4f9b5cf67e96e1.gph vernunftzentrum.de 70 1parent a10ff13d00eb7fa816a3771b2c4ae7265627a024 /ckeen/repos/irc/commit/a10ff13d00eb7fa816a3771b2c4ae7265627a024.gph vernunftzentrum.de 70 hAuthor: Quentin Carbonneaux URL:mailto:quentin.carbonneaux@yale.edu vernunftzentrum.de 70 iDate: Thu, 2 Apr 2015 22:47:31 +0000 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iAdd clean output for long lines. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iThis might make some of the scrolling logic a little bit Err vernunftzentrum.de 70 iinconsistent, but it pleases the eye a lot more! Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i irc.c | 36 ++++++++++++++++++++++++++------ Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 30 insertions(+), 6 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/irc.c b/irc.c /ckeen/repos/irc/file/irc.c.gph vernunftzentrum.de 70 i@@ -23,9 +23,10 @@ Err vernunftzentrum.de 70 i #include Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i #define SCROLL 15 Err vernunftzentrum.de 70 i+#define INDENT 21 Err vernunftzentrum.de 70 i #define DATEFMT "%H:%M" Err vernunftzentrum.de 70 i #define PFMT "%-12s < %s" Err vernunftzentrum.de 70 i-#define SRV "chat.freenode.org" Err vernunftzentrum.de 70 i+#define SRV "irc.oftc.net" Err vernunftzentrum.de 70 i #define PORT 6667 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i enum { ChanLen = 64, LineLen = 512, MaxChans = 16, BufSz = 2048, LogSz = 4096 }; Err vernunftzentrum.de 70 i@@ -98,7 +99,7 @@ srd(void) Err vernunftzentrum.de 70 i *s++ = 0; Err vernunftzentrum.de 70 i if (*l==':') { Err vernunftzentrum.de 70 i if (!(cmd=strchr(l, ' '))) goto lskip; Err vernunftzentrum.de 70 i- *cmd++ = 0; Err vernunftzentrum.de 70 i+ *cmd++ = 0; Err vernunftzentrum.de 70 i usr = l+1; Err vernunftzentrum.de 70 i } else { Err vernunftzentrum.de 70 i usr = 0; Err vernunftzentrum.de 70 i@@ -180,6 +181,30 @@ chdel(char *name) Err vernunftzentrum.de 70 i return 1; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+static char * Err vernunftzentrum.de 70 i+pushl(char *p, char *e) Err vernunftzentrum.de 70 i+{ Err vernunftzentrum.de 70 i+ int x=0; Err vernunftzentrum.de 70 i+ char *w; Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+ if ((w=memchr(p, '\n', e-p))) e=w+1; Err vernunftzentrum.de 70 i+ for (w=p;;) { Err vernunftzentrum.de 70 i+ if (p>=e || *p==' ' || p-w+INDENT>=scr.x-1) { Err vernunftzentrum.de 70 i+ for (; w=e) return e; Err vernunftzentrum.de 70 i+ } Err vernunftzentrum.de 70 i+ p++; Err vernunftzentrum.de 70 i+ if (++x>=scr.x) { Err vernunftzentrum.de 70 i+ waddch(scr.mw, '\n'); Err vernunftzentrum.de 70 i+ for (x=0; xn==0) { Err vernunftzentrum.de 70 i char *p=c->eol-n-1; Err vernunftzentrum.de 70 i if (p!=c->buf) waddch(scr.mw, '\n'); Err vernunftzentrum.de 70 i- for (; peol-1; p++) Err vernunftzentrum.de 70 i- waddch(scr.mw, *p); Err vernunftzentrum.de 70 i+ pushl(p, c->eol-1); Err vernunftzentrum.de 70 i wrefresh(scr.mw); Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i@@ -404,8 +428,8 @@ tredraw(void) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i wclear(scr.mw); Err vernunftzentrum.de 70 i wmove(scr.mw, 0, 0); Err vernunftzentrum.de 70 i- for (; q