]> git.lizzy.rs Git - bspwm.git/blobdiff - rules.c
Update TODO
[bspwm.git] / rules.c
diff --git a/rules.c b/rules.c
index a943d078b0db41d3f2f25866f83165cd7287d6d1..f53ea3fcfaebce9a81de98a2ad8cd3ad9097f145 100644 (file)
--- a/rules.c
+++ b/rules.c
@@ -18,21 +18,26 @@ void add_rule(rule_t *r)
     }
 }
 
-void remove_rule(unsigned int uid)
+void remove_rule(rule_t *r)
 {
-    rule_t *r = find_rule(uid);
-    if (r != NULL) {
-        rule_t *prev = r->prev;
-        rule_t *next = r->next;
-        if (prev != NULL)
-            prev->next = next;
-        if (next != NULL)
-            next->prev = prev;
-        if (r == rule_head)
-            rule_head = next;
-        if (r == rule_tail)
-            rule_tail = prev;
-    }
+    if (r == NULL)
+        return;
+    rule_t *prev = r->prev;
+    rule_t *next = r->next;
+    if (prev != NULL)
+        prev->next = next;
+    if (next != NULL)
+        next->prev = prev;
+    if (r == rule_head)
+        rule_head = next;
+    if (r == rule_tail)
+        rule_tail = prev;
+    free(r);
+}
+
+void remove_rule_by_uid(unsigned int uid)
+{
+    remove_rule(find_rule(uid));
 }
 
 rule_t *find_rule(unsigned int uid)