about summary refs log tree commit diff stats
path: root/client.c
diff options
context:
space:
mode:
authorarg@10ksloc.org <unknown>2006-08-01 16:14:17 +0200
committerarg@10ksloc.org <unknown>2006-08-01 16:14:17 +0200
commitd9a6a3b5d2e0152d5746723fcd482994602f292e (patch)
tree8ea1501f27546c91fdd427e79a8da94bd315cc69 /client.c
parent7c2e3bb67d07dd1822887bc1ae35d4cd40a6e481 (diff)
downloaddwm-d9a6a3b5d2e0152d5746723fcd482994602f292e.tar.gz
removed artefacts of single-linked list (thanx to Jukka, I must have been mad)
Diffstat (limited to 'client.c')
-rw-r--r--client.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/client.c b/client.c
index 7bc6772..fd91af5 100644
--- a/client.c
+++ b/client.c
@@ -416,20 +416,18 @@ togglemax(Arg *arg)
 void
 unmanage(Client *c)
 {
-	Client **l;
-
 	XGrabServer(dpy);
 	XSetErrorHandler(xerrordummy);
 
 	XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
 	XDestroyWindow(dpy, c->title);
 
-	for(l = &clients; *l && *l != c; l = &(*l)->next);
 	if(c->prev)
 		c->prev->next = c->next;
 	if(c->next)
 		c->next->prev = c->prev;
-	*l = c->next;
+	if(c == clients)
+		clients = c->next;
 	if(sel == c) {
 		sel = getnext(c->next);
 		if(!sel)
@@ -450,7 +448,7 @@ unmanage(Client *c)
 void
 zoom(Arg *arg)
 {
-	Client *c, **l;
+	Client *c;
 
 	if(!sel)
 		return;
@@ -461,13 +459,10 @@ zoom(Arg *arg)
 	}
 
 	/* pop */
-	for(l = &clients; *l && *l != sel; l = &(*l)->next);
 	if(sel->prev)
 		sel->prev->next = sel->next;
 	if(sel->next)
 		sel->next->prev = sel->prev;
-	*l = sel->next;
-
 	sel->prev = NULL;
 	if(clients)
 		clients->prev = sel;