iUse BSD-style function notation - st - Simple Terminal Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1Log /scm/st//log.gph gopher.r-36.net 70 1Files /scm/st//files.gph gopher.r-36.net 70 1Refs /scm/st//refs.gph gopher.r-36.net 70 1README /scm/st//file/README.gph gopher.r-36.net 70 1LICENSE /scm/st//file/LICENSE.gph gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1commit 13233574ed1ead29bb7e99e71a0665e62c640617 /scm/st//commit/13233574ed1ead29bb7e99e71a0665e62c640617.gph gopher.r-36.net 70 1parent 9de853a98da8fe0f458b244970f0e0d3e9b38a50 /scm/st//commit/9de853a98da8fe0f458b244970f0e0d3e9b38a50.gph gopher.r-36.net 70 hAuthor: FRIGN URL:mailto:dev@frign.de gopher.r-36.net 70 iDate: Thu, 9 Jul 2015 23:59:50 +0200 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iUse BSD-style function notation Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iPut the opening brace on a new line. This was already used for some Err gopher.r-36.net 70 ifunctions inside st.c. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i st.c | 385 ++++++++++++++++++++----------- Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i1 file changed, 256 insertions(+), 129 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/st.c b/st.c /scm/st//file/st.c.gph gopher.r-36.net 70 i@@ -550,7 +550,8 @@ static Fontcache frc[16]; Err gopher.r-36.net 70 i static int frclen = 0; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i ssize_t Err gopher.r-36.net 70 i-xwrite(int fd, const char *s, size_t len) { Err gopher.r-36.net 70 i+xwrite(int fd, const char *s, size_t len) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i size_t aux = len; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i while(len > 0) { Err gopher.r-36.net 70 i@@ -564,7 +565,8 @@ xwrite(int fd, const char *s, size_t len) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void * Err gopher.r-36.net 70 i-xmalloc(size_t len) { Err gopher.r-36.net 70 i+xmalloc(size_t len) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i void *p = malloc(len); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(!p) Err gopher.r-36.net 70 i@@ -574,7 +576,8 @@ xmalloc(size_t len) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void * Err gopher.r-36.net 70 i-xrealloc(void *p, size_t len) { Err gopher.r-36.net 70 i+xrealloc(void *p, size_t len) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if((p = realloc(p, len)) == NULL) Err gopher.r-36.net 70 i die("Out of memory\n"); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -582,7 +585,8 @@ xrealloc(void *p, size_t len) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i char * Err gopher.r-36.net 70 i-xstrdup(char *s) { Err gopher.r-36.net 70 i+xstrdup(char *s) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if((s = strdup(s)) == NULL) Err gopher.r-36.net 70 i die("Out of memory\n"); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -590,7 +594,8 @@ xstrdup(char *s) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i size_t Err gopher.r-36.net 70 i-utf8decode(char *c, Rune *u, size_t clen) { Err gopher.r-36.net 70 i+utf8decode(char *c, Rune *u, size_t clen) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i size_t i, j, len, type; Err gopher.r-36.net 70 i Rune udecoded; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -613,7 +618,8 @@ utf8decode(char *c, Rune *u, size_t clen) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i Rune Err gopher.r-36.net 70 i-utf8decodebyte(char c, size_t *i) { Err gopher.r-36.net 70 i+utf8decodebyte(char c, size_t *i) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i for(*i = 0; *i < LEN(utfmask); ++(*i)) Err gopher.r-36.net 70 i if(((uchar)c & utfmask[*i]) == utfbyte[*i]) Err gopher.r-36.net 70 i return (uchar)c & ~utfmask[*i]; Err gopher.r-36.net 70 i@@ -621,7 +627,8 @@ utf8decodebyte(char c, size_t *i) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i size_t Err gopher.r-36.net 70 i-utf8encode(Rune u, char *c) { Err gopher.r-36.net 70 i+utf8encode(Rune u, char *c) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i size_t len, i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i len = utf8validate(&u, 0); Err gopher.r-36.net 70 i@@ -636,12 +643,14 @@ utf8encode(Rune u, char *c) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i char Err gopher.r-36.net 70 i-utf8encodebyte(Rune u, size_t i) { Err gopher.r-36.net 70 i+utf8encodebyte(Rune u, size_t i) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i return utfbyte[i] | (u & ~utfmask[i]); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i char * Err gopher.r-36.net 70 i-utf8strchr(char *s, Rune u) { Err gopher.r-36.net 70 i+utf8strchr(char *s, Rune u) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Rune r; Err gopher.r-36.net 70 i size_t i, j, len; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -656,7 +665,8 @@ utf8strchr(char *s, Rune u) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i size_t Err gopher.r-36.net 70 i-utf8validate(Rune *u, size_t i) { Err gopher.r-36.net 70 i+utf8validate(Rune *u, size_t i) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(!BETWEEN(*u, utfmin[i], utfmax[i]) || BETWEEN(*u, 0xD800, 0xDFFF)) Err gopher.r-36.net 70 i *u = UTF_INVALID; Err gopher.r-36.net 70 i for(i = 1; *u > utfmax[i]; ++i) Err gopher.r-36.net 70 i@@ -665,7 +675,8 @@ utf8validate(Rune *u, size_t i) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selinit(void) { Err gopher.r-36.net 70 i+selinit(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i memset(&sel.tclick1, 0, sizeof(sel.tclick1)); Err gopher.r-36.net 70 i memset(&sel.tclick2, 0, sizeof(sel.tclick2)); Err gopher.r-36.net 70 i sel.mode = SEL_IDLE; Err gopher.r-36.net 70 i@@ -678,7 +689,8 @@ selinit(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-x2col(int x) { Err gopher.r-36.net 70 i+x2col(int x) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i x -= borderpx; Err gopher.r-36.net 70 i x /= xw.cw; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -686,7 +698,8 @@ x2col(int x) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-y2row(int y) { Err gopher.r-36.net 70 i+y2row(int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i y -= borderpx; Err gopher.r-36.net 70 i y /= xw.ch; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -694,7 +707,8 @@ y2row(int y) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-ttlinelen(int y) { Err gopher.r-36.net 70 i+ttlinelen(int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i = term.col; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(term.line[y][i - 1].mode & ATTR_WRAP) Err gopher.r-36.net 70 i@@ -707,7 +721,8 @@ tlinelen(int y) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selnormalize(void) { Err gopher.r-36.net 70 i+selnormalize(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(sel.type == SEL_REGULAR && sel.ob.y != sel.oe.y) { Err gopher.r-36.net 70 i@@ -734,7 +749,8 @@ selnormalize(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-selected(int x, int y) { Err gopher.r-36.net 70 i+selected(int x, int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(sel.mode == SEL_EMPTY) Err gopher.r-36.net 70 i return 0; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -748,7 +764,8 @@ selected(int x, int y) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selsnap(int *x, int *y, int direction) { Err gopher.r-36.net 70 i+selsnap(int *x, int *y, int direction) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int newx, newy, xt, yt; Err gopher.r-36.net 70 i int delim, prevdelim; Err gopher.r-36.net 70 i Glyph *gp, *prevgp; Err gopher.r-36.net 70 i@@ -820,7 +837,8 @@ selsnap(int *x, int *y, int direction) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-getbuttoninfo(XEvent *e) { Err gopher.r-36.net 70 i+getbuttoninfo(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int type; Err gopher.r-36.net 70 i uint state = e->xbutton.state & ~(Button1Mask | forceselmod); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -840,7 +858,8 @@ getbuttoninfo(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-mousereport(XEvent *e) { Err gopher.r-36.net 70 i+mousereport(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int x = x2col(e->xbutton.x), y = y2row(e->xbutton.y), Err gopher.r-36.net 70 i button = e->xbutton.button, state = e->xbutton.state, Err gopher.r-36.net 70 i len; Err gopher.r-36.net 70 i@@ -903,7 +922,8 @@ mousereport(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-bpress(XEvent *e) { Err gopher.r-36.net 70 i+bpress(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i struct timespec now; Err gopher.r-36.net 70 i Mousekey *mk; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -952,7 +972,8 @@ bpress(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i char * Err gopher.r-36.net 70 i-getsel(void) { Err gopher.r-36.net 70 i+getsel(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char *str, *ptr; Err gopher.r-36.net 70 i int y, bufsize, lastx, linelen; Err gopher.r-36.net 70 i Glyph *gp, *last; Err gopher.r-36.net 70 i@@ -1002,12 +1023,14 @@ getsel(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selcopy(Time t) { Err gopher.r-36.net 70 i+selcopy(Time t) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i xsetsel(getsel(), t); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selnotify(XEvent *e) { Err gopher.r-36.net 70 i+selnotify(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i ulong nitems, ofs, rem; Err gopher.r-36.net 70 i int format; Err gopher.r-36.net 70 i uchar *data, *last, *repl; Err gopher.r-36.net 70 i@@ -1052,13 +1075,15 @@ selnotify(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selpaste(const Arg *dummy) { Err gopher.r-36.net 70 i+selpaste(const Arg *dummy) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY, Err gopher.r-36.net 70 i xw.win, CurrentTime); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-clipcopy(const Arg *dummy) { Err gopher.r-36.net 70 i+clipcopy(const Arg *dummy) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Atom clipboard; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(sel.clipboard != NULL) Err gopher.r-36.net 70 i@@ -1072,7 +1097,8 @@ clipcopy(const Arg *dummy) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-clippaste(const Arg *dummy) { Err gopher.r-36.net 70 i+clippaste(const Arg *dummy) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Atom clipboard; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); Err gopher.r-36.net 70 i@@ -1081,7 +1107,8 @@ clippaste(const Arg *dummy) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selclear(XEvent *e) { Err gopher.r-36.net 70 i+selclear(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(sel.ob.x == -1) Err gopher.r-36.net 70 i return; Err gopher.r-36.net 70 i sel.mode = SEL_IDLE; Err gopher.r-36.net 70 i@@ -1090,7 +1117,8 @@ selclear(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selrequest(XEvent *e) { Err gopher.r-36.net 70 i+selrequest(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XSelectionRequestEvent *xsre; Err gopher.r-36.net 70 i XSelectionEvent xev; Err gopher.r-36.net 70 i Atom xa_targets, string, clipboard; Err gopher.r-36.net 70 i@@ -1147,7 +1175,8 @@ selrequest(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xsetsel(char *str, Time t) { Err gopher.r-36.net 70 i+xsetsel(char *str, Time t) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i free(sel.primary); Err gopher.r-36.net 70 i sel.primary = str; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1157,7 +1186,8 @@ xsetsel(char *str, Time t) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-brelease(XEvent *e) { Err gopher.r-36.net 70 i+brelease(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { Err gopher.r-36.net 70 i mousereport(e); Err gopher.r-36.net 70 i return; Err gopher.r-36.net 70 i@@ -1177,7 +1207,8 @@ brelease(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-bmotion(XEvent *e) { Err gopher.r-36.net 70 i+bmotion(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int oldey, oldex, oldsby, oldsey; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { Err gopher.r-36.net 70 i@@ -1200,7 +1231,8 @@ bmotion(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-die(const char *errstr, ...) { Err gopher.r-36.net 70 i+die(const char *errstr, ...) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i va_list ap; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i va_start(ap, errstr); Err gopher.r-36.net 70 i@@ -1210,7 +1242,8 @@ die(const char *errstr, ...) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-execsh(void) { Err gopher.r-36.net 70 i+execsh(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char **args, *sh, *prog; Err gopher.r-36.net 70 i const struct passwd *pw; Err gopher.r-36.net 70 i char buf[sizeof(long) * 8 + 1]; Err gopher.r-36.net 70 i@@ -1259,7 +1292,8 @@ execsh(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-sigchld(int a) { Err gopher.r-36.net 70 i+sigchld(int a) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int stat; Err gopher.r-36.net 70 i pid_t p; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1300,7 +1334,8 @@ stty(void) Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-tttynew(void) { Err gopher.r-36.net 70 i+tttynew(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int m, s; Err gopher.r-36.net 70 i struct winsize w = {term.row, term.col, 0, 0}; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1352,7 +1387,8 @@ ttynew(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-tttyread(void) { Err gopher.r-36.net 70 i+tttyread(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i static char buf[BUFSIZ]; Err gopher.r-36.net 70 i static int buflen = 0; Err gopher.r-36.net 70 i char *ptr; Err gopher.r-36.net 70 i@@ -1378,13 +1414,15 @@ ttyread(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-tttywrite(const char *s, size_t n) { Err gopher.r-36.net 70 i+tttywrite(const char *s, size_t n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(xwrite(cmdfd, s, n) == -1) Err gopher.r-36.net 70 i die("write error on tty: %s\n", strerror(errno)); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-tttysend(char *s, size_t n) { Err gopher.r-36.net 70 i+tttysend(char *s, size_t n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int len; Err gopher.r-36.net 70 i Rune u; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1398,7 +1436,8 @@ ttysend(char *s, size_t n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-tttyresize(void) { Err gopher.r-36.net 70 i+tttyresize(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i struct winsize w; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i w.ws_row = term.row; Err gopher.r-36.net 70 i@@ -1410,7 +1449,8 @@ ttyresize(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-ttattrset(int attr) { Err gopher.r-36.net 70 i+ttattrset(int attr) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i, j; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i for(i = 0; i < term.row-1; i++) { Err gopher.r-36.net 70 i@@ -1424,7 +1464,8 @@ tattrset(int attr) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttsetdirt(int top, int bot) { Err gopher.r-36.net 70 i+ttsetdirt(int top, int bot) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i LIMIT(top, 0, term.row-1); Err gopher.r-36.net 70 i@@ -1435,7 +1476,8 @@ tsetdirt(int top, int bot) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttsetdirtattr(int attr) { Err gopher.r-36.net 70 i+ttsetdirtattr(int attr) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i, j; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i for(i = 0; i < term.row-1; i++) { Err gopher.r-36.net 70 i@@ -1449,12 +1491,14 @@ tsetdirtattr(int attr) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttfulldirt(void) { Err gopher.r-36.net 70 i+ttfulldirt(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i tsetdirt(0, term.row-1); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttcursor(int mode) { Err gopher.r-36.net 70 i+ttcursor(int mode) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i static TCursor c[2]; Err gopher.r-36.net 70 i int alt = IS_SET(MODE_ALTSCREEN); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1467,7 +1511,8 @@ tcursor(int mode) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttreset(void) { Err gopher.r-36.net 70 i+ttreset(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i uint i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i term.c = (TCursor){{ Err gopher.r-36.net 70 i@@ -1494,7 +1539,8 @@ treset(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttnew(int col, int row) { Err gopher.r-36.net 70 i+ttnew(int col, int row) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i term = (Term){ .c = { .attr = { .fg = defaultfg, .bg = defaultbg } } }; Err gopher.r-36.net 70 i tresize(col, row); Err gopher.r-36.net 70 i term.numlock = 1; Err gopher.r-36.net 70 i@@ -1503,7 +1549,8 @@ tnew(int col, int row) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttswapscreen(void) { Err gopher.r-36.net 70 i+ttswapscreen(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Line *tmp = term.line; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i term.line = term.alt; Err gopher.r-36.net 70 i@@ -1513,7 +1560,8 @@ tswapscreen(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttscrolldown(int orig, int n) { Err gopher.r-36.net 70 i+ttscrolldown(int orig, int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Line temp; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1532,7 +1580,8 @@ tscrolldown(int orig, int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttscrollup(int orig, int n) { Err gopher.r-36.net 70 i+ttscrollup(int orig, int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Line temp; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1551,7 +1600,8 @@ tscrollup(int orig, int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-selscroll(int orig, int n) { Err gopher.r-36.net 70 i+selscroll(int orig, int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(sel.ob.x == -1) Err gopher.r-36.net 70 i return; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1580,7 +1630,8 @@ selscroll(int orig, int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttnewline(int first_col) { Err gopher.r-36.net 70 i+ttnewline(int first_col) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int y = term.c.y; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(y == term.bot) { Err gopher.r-36.net 70 i@@ -1592,7 +1643,8 @@ tnewline(int first_col) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-csiparse(void) { Err gopher.r-36.net 70 i+csiparse(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char *p = csiescseq.buf, *np; Err gopher.r-36.net 70 i long int v; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1622,12 +1674,14 @@ csiparse(void) { Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i /* for absolute user moves, when decom is set */ Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttmoveato(int x, int y) { Err gopher.r-36.net 70 i+ttmoveato(int x, int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i tmoveto(x, y + ((term.c.state & CURSOR_ORIGIN) ? term.top: 0)); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttmoveto(int x, int y) { Err gopher.r-36.net 70 i+ttmoveto(int x, int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int miny, maxy; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(term.c.state & CURSOR_ORIGIN) { Err gopher.r-36.net 70 i@@ -1643,7 +1697,8 @@ tmoveto(int x, int y) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttsetchar(Rune u, Glyph *attr, int x, int y) { Err gopher.r-36.net 70 i+ttsetchar(Rune u, Glyph *attr, int x, int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i static char *vt100_0[62] = { /* 0x41 - 0x7e */ Err gopher.r-36.net 70 i "↑", "↓", "→", "←", "█", "▚", "☃", /* A - G */ Err gopher.r-36.net 70 i 0, 0, 0, 0, 0, 0, 0, 0, /* H - O */ Err gopher.r-36.net 70 i@@ -1678,7 +1733,8 @@ tsetchar(Rune u, Glyph *attr, int x, int y) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttclearregion(int x1, int y1, int x2, int y2) { Err gopher.r-36.net 70 i+ttclearregion(int x1, int y1, int x2, int y2) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int x, y, temp; Err gopher.r-36.net 70 i Glyph *gp; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1707,7 +1763,8 @@ tclearregion(int x1, int y1, int x2, int y2) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdeletechar(int n) { Err gopher.r-36.net 70 i+ttdeletechar(int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int dst, src, size; Err gopher.r-36.net 70 i Glyph *line; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1723,7 +1780,8 @@ tdeletechar(int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttinsertblank(int n) { Err gopher.r-36.net 70 i+ttinsertblank(int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int dst, src, size; Err gopher.r-36.net 70 i Glyph *line; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1739,19 +1797,22 @@ tinsertblank(int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttinsertblankline(int n) { Err gopher.r-36.net 70 i+ttinsertblankline(int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(BETWEEN(term.c.y, term.top, term.bot)) Err gopher.r-36.net 70 i tscrolldown(term.c.y, n); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdeleteline(int n) { Err gopher.r-36.net 70 i+ttdeleteline(int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(BETWEEN(term.c.y, term.top, term.bot)) Err gopher.r-36.net 70 i tscrollup(term.c.y, n); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int32_t Err gopher.r-36.net 70 i-ttdefcolor(int *attr, int *npar, int l) { Err gopher.r-36.net 70 i+ttdefcolor(int *attr, int *npar, int l) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int32_t idx = -1; Err gopher.r-36.net 70 i uint r, g, b; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1800,7 +1861,8 @@ tdefcolor(int *attr, int *npar, int l) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttsetattr(int *attr, int l) { Err gopher.r-36.net 70 i+ttsetattr(int *attr, int l) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i int32_t idx; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1900,7 +1962,8 @@ tsetattr(int *attr, int l) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttsetscroll(int t, int b) { Err gopher.r-36.net 70 i+ttsetscroll(int t, int b) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int temp; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i LIMIT(t, 0, term.row-1); Err gopher.r-36.net 70 i@@ -1915,7 +1978,8 @@ tsetscroll(int t, int b) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttsetmode(int priv, int set, int *args, int narg) { Err gopher.r-36.net 70 i+ttsetmode(int priv, int set, int *args, int narg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int *lim, mode; Err gopher.r-36.net 70 i int alt; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2047,7 +2111,8 @@ tsetmode(int priv, int set, int *args, int narg) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-csihandle(void) { Err gopher.r-36.net 70 i+csihandle(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char buf[40]; Err gopher.r-36.net 70 i int len; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2256,7 +2321,8 @@ csihandle(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-csidump(void) { Err gopher.r-36.net 70 i+csidump(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i uint c; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2279,12 +2345,14 @@ csidump(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-csireset(void) { Err gopher.r-36.net 70 i+csireset(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i memset(&csiescseq, 0, sizeof(csiescseq)); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-strhandle(void) { Err gopher.r-36.net 70 i+strhandle(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char *p = NULL; Err gopher.r-36.net 70 i int j, narg, par; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2334,7 +2402,8 @@ strhandle(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-strparse(void) { Err gopher.r-36.net 70 i+strparse(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int c; Err gopher.r-36.net 70 i char *p = strescseq.buf; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2355,7 +2424,8 @@ strparse(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-strdump(void) { Err gopher.r-36.net 70 i+strdump(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i uint c; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2380,12 +2450,14 @@ strdump(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-strreset(void) { Err gopher.r-36.net 70 i+strreset(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i memset(&strescseq, 0, sizeof(strescseq)); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttprinter(char *s, size_t len) { Err gopher.r-36.net 70 i+ttprinter(char *s, size_t len) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(iofd != -1 && xwrite(iofd, s, len) < 0) { Err gopher.r-36.net 70 i fprintf(stderr, "Error writing in %s:%s\n", Err gopher.r-36.net 70 i opt_io, strerror(errno)); Err gopher.r-36.net 70 i@@ -2395,22 +2467,26 @@ tprinter(char *s, size_t len) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttoggleprinter(const Arg *arg) { Err gopher.r-36.net 70 i+ttoggleprinter(const Arg *arg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i term.mode ^= MODE_PRINT; Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-printscreen(const Arg *arg) { Err gopher.r-36.net 70 i+printscreen(const Arg *arg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i tdump(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-printsel(const Arg *arg) { Err gopher.r-36.net 70 i+printsel(const Arg *arg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i tdumpsel(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdumpsel(void) { Err gopher.r-36.net 70 i+ttdumpsel(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char *ptr; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if((ptr = getsel())) { Err gopher.r-36.net 70 i@@ -2420,7 +2496,8 @@ tdumpsel(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdumpline(int n) { Err gopher.r-36.net 70 i+ttdumpline(int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char buf[UTF_SIZ]; Err gopher.r-36.net 70 i Glyph *bp, *end; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2434,7 +2511,8 @@ tdumpline(int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdump(void) { Err gopher.r-36.net 70 i+ttdump(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i for(i = 0; i < term.row; ++i) Err gopher.r-36.net 70 i@@ -2442,7 +2520,8 @@ tdump(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttputtab(int n) { Err gopher.r-36.net 70 i+ttputtab(int n) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i uint x = term.c.x; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(n > 0) { Err gopher.r-36.net 70 i@@ -2458,7 +2537,8 @@ tputtab(int n) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttecho(Rune u) { Err gopher.r-36.net 70 i+ttecho(Rune u) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(ISCONTROL(u)) { /* control code */ Err gopher.r-36.net 70 i if(u & 0x80) { Err gopher.r-36.net 70 i u &= 0x7f; Err gopher.r-36.net 70 i@@ -2473,7 +2553,8 @@ techo(Rune u) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdeftran(char ascii) { Err gopher.r-36.net 70 i+ttdeftran(char ascii) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i static char cs[] = "0B"; Err gopher.r-36.net 70 i static int vcs[] = {CS_GRAPHIC0, CS_USA}; Err gopher.r-36.net 70 i char *p; Err gopher.r-36.net 70 i@@ -2486,7 +2567,8 @@ tdeftran(char ascii) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttdectest(char c) { Err gopher.r-36.net 70 i+ttdectest(char c) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int x, y; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(c == '8') { /* DEC screen alignment test. */ Err gopher.r-36.net 70 i@@ -2498,7 +2580,8 @@ tdectest(char c) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttstrsequence(uchar c) { Err gopher.r-36.net 70 i+ttstrsequence(uchar c) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i switch (c) { Err gopher.r-36.net 70 i case 0x90: /* DCS -- Device Control String */ Err gopher.r-36.net 70 i c = 'P'; Err gopher.r-36.net 70 i@@ -2519,7 +2602,8 @@ tstrsequence(uchar c) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttcontrolcode(uchar ascii) { Err gopher.r-36.net 70 i+ttcontrolcode(uchar ascii) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i switch(ascii) { Err gopher.r-36.net 70 i case '\t': /* HT */ Err gopher.r-36.net 70 i tputtab(1); Err gopher.r-36.net 70 i@@ -2602,7 +2686,8 @@ tcontrolcode(uchar ascii) { Err gopher.r-36.net 70 i * more characters for this sequence, otherwise 0 Err gopher.r-36.net 70 i */ Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-eschandle(uchar ascii) { Err gopher.r-36.net 70 i+eschandle(uchar ascii) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i switch(ascii) { Err gopher.r-36.net 70 i case '[': Err gopher.r-36.net 70 i term.esc |= ESC_CSI; Err gopher.r-36.net 70 i@@ -2681,7 +2766,8 @@ eschandle(uchar ascii) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttputc(Rune u) { Err gopher.r-36.net 70 i+ttputc(Rune u) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i char c[UTF_SIZ]; Err gopher.r-36.net 70 i int control; Err gopher.r-36.net 70 i int width, len; Err gopher.r-36.net 70 i@@ -2803,7 +2889,8 @@ tputc(Rune u) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-ttresize(int col, int row) { Err gopher.r-36.net 70 i+ttresize(int col, int row) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i int minrow = MIN(row, term.row); Err gopher.r-36.net 70 i int mincol = MIN(col, term.col); Err gopher.r-36.net 70 i@@ -2887,7 +2974,8 @@ tresize(int col, int row) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xresize(int col, int row) { Err gopher.r-36.net 70 i+xresize(int col, int row) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i xw.tw = MAX(1, col * xw.cw); Err gopher.r-36.net 70 i xw.th = MAX(1, row * xw.ch); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -2899,12 +2987,14 @@ xresize(int col, int row) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i ushort Err gopher.r-36.net 70 i-sixd_to_16bit(int x) { Err gopher.r-36.net 70 i+sixd_to_16bit(int x) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i return x == 0 ? 0 : 0x3737 + 0x2828 * x; Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-xloadcolor(int i, const char *name, Color *ncolor) { Err gopher.r-36.net 70 i+xloadcolor(int i, const char *name, Color *ncolor) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XRenderColor color = { .alpha = 0xffff }; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(!name) { Err gopher.r-36.net 70 i@@ -2926,7 +3016,8 @@ xloadcolor(int i, const char *name, Color *ncolor) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xloadcols(void) { Err gopher.r-36.net 70 i+xloadcols(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i static int loaded; Err gopher.r-36.net 70 i Color *cp; Err gopher.r-36.net 70 i@@ -2947,7 +3038,8 @@ xloadcols(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-xsetcolorname(int x, const char *name) { Err gopher.r-36.net 70 i+xsetcolorname(int x, const char *name) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Color ncolor; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(!BETWEEN(x, 0, LEN(dc.col))) Err gopher.r-36.net 70 i@@ -2963,7 +3055,8 @@ xsetcolorname(int x, const char *name) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xtermclear(int col1, int row1, int col2, int row2) { Err gopher.r-36.net 70 i+xtermclear(int col1, int row1, int col2, int row2) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XftDrawRect(xw.draw, Err gopher.r-36.net 70 i &dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg], Err gopher.r-36.net 70 i borderpx + col1 * xw.cw, Err gopher.r-36.net 70 i@@ -2976,14 +3069,16 @@ xtermclear(int col1, int row1, int col2, int row2) { Err gopher.r-36.net 70 i * Absolute coordinates. Err gopher.r-36.net 70 i */ Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xclear(int x1, int y1, int x2, int y2) { Err gopher.r-36.net 70 i+xclear(int x1, int y1, int x2, int y2) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XftDrawRect(xw.draw, Err gopher.r-36.net 70 i &dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg], Err gopher.r-36.net 70 i x1, y1, x2-x1, y2-y1); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xhints(void) { Err gopher.r-36.net 70 i+xhints(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XClassHint class = {opt_class ? opt_class : termname, termname}; Err gopher.r-36.net 70 i XWMHints wm = {.flags = InputHint, .input = 1}; Err gopher.r-36.net 70 i XSizeHints *sizeh = NULL; Err gopher.r-36.net 70 i@@ -3015,7 +3110,8 @@ xhints(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-xgeommasktogravity(int mask) { Err gopher.r-36.net 70 i+xgeommasktogravity(int mask) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i switch(mask & (XNegative|YNegative)) { Err gopher.r-36.net 70 i case 0: Err gopher.r-36.net 70 i return NorthWestGravity; Err gopher.r-36.net 70 i@@ -3028,7 +3124,8 @@ xgeommasktogravity(int mask) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-xloadfont(Font *f, FcPattern *pattern) { Err gopher.r-36.net 70 i+xloadfont(Font *f, FcPattern *pattern) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i FcPattern *match; Err gopher.r-36.net 70 i FcResult result; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -3056,7 +3153,8 @@ xloadfont(Font *f, FcPattern *pattern) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xloadfonts(char *fontstr, double fontsize) { Err gopher.r-36.net 70 i+xloadfonts(char *fontstr, double fontsize) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i FcPattern *pattern; Err gopher.r-36.net 70 i double fontval; Err gopher.r-36.net 70 i float ceilf(float); Err gopher.r-36.net 70 i@@ -3130,7 +3228,8 @@ xloadfonts(char *fontstr, double fontsize) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xunloadfont(Font *f) { Err gopher.r-36.net 70 i+xunloadfont(Font *f) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XftFontClose(xw.dpy, f->match); Err gopher.r-36.net 70 i FcPatternDestroy(f->pattern); Err gopher.r-36.net 70 i if(f->set) Err gopher.r-36.net 70 i@@ -3138,7 +3237,8 @@ xunloadfont(Font *f) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xunloadfonts(void) { Err gopher.r-36.net 70 i+xunloadfonts(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i /* Free the loaded fonts in the font cache. */ Err gopher.r-36.net 70 i while(frclen > 0) Err gopher.r-36.net 70 i XftFontClose(xw.dpy, frc[--frclen].font); Err gopher.r-36.net 70 i@@ -3150,7 +3250,8 @@ xunloadfonts(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xzoom(const Arg *arg) { Err gopher.r-36.net 70 i+xzoom(const Arg *arg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Arg larg; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i larg.f = usedfontsize + arg->f; Err gopher.r-36.net 70 i@@ -3158,7 +3259,8 @@ xzoom(const Arg *arg) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xzoomabs(const Arg *arg) { Err gopher.r-36.net 70 i+xzoomabs(const Arg *arg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i xunloadfonts(); Err gopher.r-36.net 70 i xloadfonts(usedfont, arg->f); Err gopher.r-36.net 70 i cresize(0, 0); Err gopher.r-36.net 70 i@@ -3167,7 +3269,8 @@ xzoomabs(const Arg *arg) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xzoomreset(const Arg *arg) { Err gopher.r-36.net 70 i+xzoomreset(const Arg *arg) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Arg larg; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(defaultfontsize > 0) { Err gopher.r-36.net 70 i@@ -3177,7 +3280,8 @@ xzoomreset(const Arg *arg) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xinit(void) { Err gopher.r-36.net 70 i+xinit(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XGCValues gcvalues; Err gopher.r-36.net 70 i Cursor cursor; Err gopher.r-36.net 70 i Window parent; Err gopher.r-36.net 70 i@@ -3408,7 +3512,8 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) { Err gopher.r-36.net 70 i+xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); Err gopher.r-36.net 70 i int winx = borderpx + x * xw.cw, winy = borderpx + y * xw.ch, Err gopher.r-36.net 70 i width = charlen * xw.cw; Err gopher.r-36.net 70 i@@ -3541,7 +3646,8 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xdrawglyph(Glyph g, int x, int y) { Err gopher.r-36.net 70 i+xdrawglyph(Glyph g, int x, int y) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int numspecs; Err gopher.r-36.net 70 i XftGlyphFontSpec spec; Err gopher.r-36.net 70 i numspecs = xmakeglyphfontspecs(&spec, &g, 1, x, y); Err gopher.r-36.net 70 i@@ -3549,7 +3655,8 @@ xdrawglyph(Glyph g, int x, int y) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xdrawcursor(void) { Err gopher.r-36.net 70 i+xdrawcursor(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i static int oldx = 0, oldy = 0; Err gopher.r-36.net 70 i int curx; Err gopher.r-36.net 70 i Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs}; Err gopher.r-36.net 70 i@@ -3626,7 +3733,8 @@ xdrawcursor(void) { Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xsettitle(char *p) { Err gopher.r-36.net 70 i+xsettitle(char *p) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XTextProperty prop; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, Err gopher.r-36.net 70 i@@ -3637,18 +3745,21 @@ xsettitle(char *p) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xresettitle(void) { Err gopher.r-36.net 70 i+xresettitle(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i xsettitle(opt_title ? opt_title : "st"); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-redraw(void) { Err gopher.r-36.net 70 i+redraw(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i tfulldirt(); Err gopher.r-36.net 70 i draw(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-draw(void) { Err gopher.r-36.net 70 i+draw(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i drawregion(0, 0, term.col, term.row); Err gopher.r-36.net 70 i XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w, Err gopher.r-36.net 70 i xw.h, 0, 0); Err gopher.r-36.net 70 i@@ -3658,7 +3769,8 @@ draw(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-drawregion(int x1, int y1, int x2, int y2) { Err gopher.r-36.net 70 i+drawregion(int x1, int y1, int x2, int y2) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int i, x, y, ox, numspecs; Err gopher.r-36.net 70 i Glyph base, new; Err gopher.r-36.net 70 i XftGlyphFontSpec* specs; Err gopher.r-36.net 70 i@@ -3703,30 +3815,35 @@ drawregion(int x1, int y1, int x2, int y2) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-expose(XEvent *ev) { Err gopher.r-36.net 70 i+expose(XEvent *ev) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i redraw(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-visibility(XEvent *ev) { Err gopher.r-36.net 70 i+visibility(XEvent *ev) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XVisibilityEvent *e = &ev->xvisibility; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i MODBIT(xw.state, e->state != VisibilityFullyObscured, WIN_VISIBLE); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-unmap(XEvent *ev) { Err gopher.r-36.net 70 i+unmap(XEvent *ev) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i xw.state &= ~WIN_VISIBLE; Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xsetpointermotion(int set) { Err gopher.r-36.net 70 i+xsetpointermotion(int set) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i MODBIT(xw.attrs.event_mask, set, PointerMotionMask); Err gopher.r-36.net 70 i XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-xseturgency(int add) { Err gopher.r-36.net 70 i+xseturgency(int add) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XWMHints *h = XGetWMHints(xw.dpy, xw.win); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i MODBIT(h->flags, add, XUrgencyHint); Err gopher.r-36.net 70 i@@ -3735,7 +3852,8 @@ xseturgency(int add) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-focus(XEvent *ev) { Err gopher.r-36.net 70 i+focus(XEvent *ev) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XFocusChangeEvent *e = &ev->xfocus; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(e->mode == NotifyGrab) Err gopher.r-36.net 70 i@@ -3756,17 +3874,20 @@ focus(XEvent *ev) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-match(uint mask, uint state) { Err gopher.r-36.net 70 i+match(uint mask, uint state) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i return mask == XK_ANY_MOD || mask == (state & ~ignoremod); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-numlock(const Arg *dummy) { Err gopher.r-36.net 70 i+numlock(const Arg *dummy) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i term.numlock ^= 1; Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i char* Err gopher.r-36.net 70 i-kmap(KeySym k, uint state) { Err gopher.r-36.net 70 i+kmap(KeySym k, uint state) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i Key *kp; Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -3805,7 +3926,8 @@ kmap(KeySym k, uint state) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-kpress(XEvent *ev) { Err gopher.r-36.net 70 i+kpress(XEvent *ev) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XKeyEvent *e = &ev->xkey; Err gopher.r-36.net 70 i KeySym ksym; Err gopher.r-36.net 70 i char buf[32], *customkey; Err gopher.r-36.net 70 i@@ -3852,7 +3974,8 @@ kpress(XEvent *ev) { Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-cmessage(XEvent *e) { Err gopher.r-36.net 70 i+cmessage(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i /* Err gopher.r-36.net 70 i * See xembed specs Err gopher.r-36.net 70 i * http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html Err gopher.r-36.net 70 i@@ -3872,7 +3995,8 @@ cmessage(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-cresize(int width, int height) { Err gopher.r-36.net 70 i+cresize(int width, int height) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i int col, row; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(width != 0) Err gopher.r-36.net 70 i@@ -3889,7 +4013,8 @@ cresize(int width, int height) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-resize(XEvent *e) { Err gopher.r-36.net 70 i+resize(XEvent *e) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i if(e->xconfigure.width == xw.w && e->xconfigure.height == xw.h) Err gopher.r-36.net 70 i return; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -3897,7 +4022,8 @@ resize(XEvent *e) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-run(void) { Err gopher.r-36.net 70 i+run(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i XEvent ev; Err gopher.r-36.net 70 i int w = xw.w, h = xw.h; Err gopher.r-36.net 70 i fd_set rfd; Err gopher.r-36.net 70 i@@ -4004,7 +4130,8 @@ run(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i-usage(void) { Err gopher.r-36.net 70 i+usage(void) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i die("%s " VERSION " (c) 2010-2015 st engineers\n" Err gopher.r-36.net 70 i "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n" Err gopher.r-36.net 70 i " [-i] [-t title] [-w windowid] [-e command ...] [command ...]\n" Err gopher.r-36.net 70 i@@ -4014,7 +4141,8 @@ usage(void) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i int Err gopher.r-36.net 70 i-main(int argc, char *argv[]) { Err gopher.r-36.net 70 i+main(int argc, char *argv[]) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i uint cols = 80, rows = 24; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i xw.l = xw.t = 0; Err gopher.r-36.net 70 i@@ -4075,4 +4203,3 @@ run: Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i return 0; Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 .