icode-style: simplify some checks - dwm - dynamic window manager Err parazyd.org 70 hgit clone https://git.parazyd.org/dwm URL:https://git.parazyd.org/dwm parazyd.org 70 1Log /git/dwm/log.gph parazyd.org 70 1Files /git/dwm/files.gph parazyd.org 70 1Refs /git/dwm/refs.gph parazyd.org 70 1README /git/dwm/file/README.gph parazyd.org 70 1LICENSE /git/dwm/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 5e76e7e21da042c493c59235ca82d7275f20a7e4 /git/dwm/commit/5e76e7e21da042c493c59235ca82d7275f20a7e4.gph parazyd.org 70 1parent 5b2e5e7a4001479e4dc3e245f96e49f7ea0da658 /git/dwm/commit/5b2e5e7a4001479e4dc3e245f96e49f7ea0da658.gph parazyd.org 70 hAuthor: NRK URL:mailto:nrk@disroot.org parazyd.org 70 iDate: Sat, 6 Aug 2022 04:27:13 +0600 Err parazyd.org 70 i Err parazyd.org 70 icode-style: simplify some checks Err parazyd.org 70 i Err parazyd.org 70 imain change here is making the `zoom()` logic saner. the rest of the Err parazyd.org 70 ichanges are just small stuff which accumulated on my local branch. Err parazyd.org 70 i Err parazyd.org 70 ipop() must not be called with NULL. and `zoom()` achieves this, but in a Err parazyd.org 70 ivery (unnecessarily) complicated way: Err parazyd.org 70 i Err parazyd.org 70 iif c == NULL then nexttiled() will return NULL as well, so we enter this Err parazyd.org 70 ibranch: Err parazyd.org 70 i Err parazyd.org 70 i if (c == nexttiled(selmon->clients)) Err parazyd.org 70 i Err parazyd.org 70 iin here the !c check fails and the function returns before calling pop() Err parazyd.org 70 i Err parazyd.org 70 i if (!c || !(c = nexttiled(c->next))) Err parazyd.org 70 i return; Err parazyd.org 70 i Err parazyd.org 70 ihowever, none of this was needed. we can simply return early if c was NULL. Err parazyd.org 70 iAlso `c` is set to `selmon->sel` so we can use `c` in the first check Err parazyd.org 70 iinstead which makes things shorter. Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M dwm.c | 23 ++++++++--------------- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 8 insertions(+), 15 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/dwm.c b/dwm.c /git/dwm/file/dwm.c.gph parazyd.org 70 i@@ -918,13 +918,11 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size) Err parazyd.org 70 i text[0] = '\0'; Err parazyd.org 70 i if (!XGetTextProperty(dpy, w, &name, atom) || !name.nitems) Err parazyd.org 70 i return 0; Err parazyd.org 70 i- if (name.encoding == XA_STRING) Err parazyd.org 70 i+ if (name.encoding == XA_STRING) { Err parazyd.org 70 i strncpy(text, (char *)name.value, size - 1); Err parazyd.org 70 i- else { Err parazyd.org 70 i- if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success && n > 0 && *list) { Err parazyd.org 70 i- strncpy(text, *list, size - 1); Err parazyd.org 70 i- XFreeStringList(list); Err parazyd.org 70 i- } Err parazyd.org 70 i+ } else if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success && n > 0 && *list) { Err parazyd.org 70 i+ strncpy(text, *list, size - 1); Err parazyd.org 70 i+ XFreeStringList(list); Err parazyd.org 70 i } Err parazyd.org 70 i text[size - 1] = '\0'; Err parazyd.org 70 i XFree(name.value); Err parazyd.org 70 i@@ -1099,9 +1097,7 @@ maprequest(XEvent *e) Err parazyd.org 70 i static XWindowAttributes wa; Err parazyd.org 70 i XMapRequestEvent *ev = &e->xmaprequest; Err parazyd.org 70 i Err parazyd.org 70 i- if (!XGetWindowAttributes(dpy, ev->window, &wa)) Err parazyd.org 70 i- return; Err parazyd.org 70 i- if (wa.override_redirect) Err parazyd.org 70 i+ if (!XGetWindowAttributes(dpy, ev->window, &wa) || wa.override_redirect) Err parazyd.org 70 i return; Err parazyd.org 70 i if (!wintoclient(ev->window)) Err parazyd.org 70 i manage(ev->window, &wa); Err parazyd.org 70 i@@ -1603,7 +1599,6 @@ setup(void) Err parazyd.org 70 i focus(NULL); Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i- Err parazyd.org 70 i void Err parazyd.org 70 i seturgent(Client *c, int urg) Err parazyd.org 70 i { Err parazyd.org 70 i@@ -2124,12 +2119,10 @@ zoom(const Arg *arg) Err parazyd.org 70 i { Err parazyd.org 70 i Client *c = selmon->sel; Err parazyd.org 70 i Err parazyd.org 70 i- if (!selmon->lt[selmon->sellt]->arrange Err parazyd.org 70 i- || (selmon->sel && selmon->sel->isfloating)) Err parazyd.org 70 i+ if (!selmon->lt[selmon->sellt]->arrange || !c || c->isfloating) Err parazyd.org 70 i+ return; Err parazyd.org 70 i+ if (c == nexttiled(selmon->clients) && !(c = nexttiled(c->next))) Err parazyd.org 70 i return; Err parazyd.org 70 i- if (c == nexttiled(selmon->clients)) Err parazyd.org 70 i- if (!c || !(c = nexttiled(c->next))) Err parazyd.org 70 i- return; Err parazyd.org 70 i pop(c); Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 .