Delete unused xcb_list functions and refactor others.
authorJamey Sharp <jamey@minilop.net>
Mon, 27 Feb 2006 07:43:44 +0000 (23:43 -0800)
committerJamey Sharp <jamey@minilop.net>
Mon, 27 Feb 2006 07:43:44 +0000 (23:43 -0800)
src/xcb_list.c
src/xcbint.h

index 6a72c16..718a380 100644 (file)
@@ -53,35 +53,21 @@ _xcb_list *_xcb_list_new()
     return list;
 }
 
-static void _xcb_list_clear(_xcb_list *list, XCBListFreeFunc do_free)
-{
-    void *tmp;
-    while((tmp = _xcb_list_remove_head(list)))
-        if(do_free)
-            do_free(tmp);
-}
-
 void _xcb_list_delete(_xcb_list *list, XCBListFreeFunc do_free)
 {
     if(!list)
         return;
-    _xcb_list_clear(list, do_free);
+    while(list->head)
+    {
+        node *cur = list->head;
+        if(do_free)
+            do_free(cur->data);
+        list->head = cur->next;
+        free(cur);
+    }
     free(list);
 }
 
-int _xcb_list_insert(_xcb_list *list, void *data)
-{
-    node *cur;
-    cur = malloc(sizeof(node));
-    if(!cur)
-        return 0;
-    cur->data = data;
-
-    cur->next = list->head;
-    list->head = cur;
-    return 1;
-}
-
 int _xcb_list_append(_xcb_list *list, void *data)
 {
     node *cur;
@@ -103,20 +89,6 @@ void *_xcb_list_peek_head(_xcb_list *list)
     return list->head->data;
 }
 
-void *_xcb_list_remove_head(_xcb_list *list)
-{
-    void *ret;
-    node *tmp = list->head;
-    if(!tmp)
-        return 0;
-    ret = tmp->data;
-    list->head = tmp->next;
-    if(!list->head)
-        list->tail = &list->head;
-    free(tmp);
-    return ret;
-}
-
 void *_xcb_list_remove(_xcb_list *list, int (*cmp)(const void *, const void *), const void *data)
 {
     node **cur;
@@ -153,14 +125,17 @@ _xcb_map *_xcb_map_new(void) __attribute__ ((alias ("_xcb_list_new")));
 
 void _xcb_map_delete(_xcb_map *q, XCBListFreeFunc do_free)
 {
-    map_pair *tmp;
     if(!q)
         return;
-    while((tmp = _xcb_list_remove_head(q)))
+    while(q->head)
     {
+        node *cur = q->head;
+        map_pair *pair = cur->data;
         if(do_free)
-            do_free(tmp->value);
-        free(tmp);
+            do_free(pair->value);
+        q->head = cur->next;
+        free(pair);
+        free(cur);
     }
     free(q);
 }
@@ -185,14 +160,6 @@ static int match_map_pair(const void *key, const void *pair)
     return ((map_pair *) pair)->key == *(unsigned int *) key;
 }
 
-void *_xcb_map_get(_xcb_map *q, unsigned int key)
-{
-    map_pair *cur = _xcb_list_find(q, match_map_pair, &key);
-    if(!cur)
-        return 0;
-    return cur->value;
-}
-
 void *_xcb_map_remove(_xcb_map *q, unsigned int key)
 {
     map_pair *cur = _xcb_list_remove(q, match_map_pair, &key);
index c508504..85e79e3 100644 (file)
@@ -46,10 +46,8 @@ typedef void (*XCBListFreeFunc)(void *);
 
 _xcb_list *_xcb_list_new(void);
 void _xcb_list_delete(_xcb_list *list, XCBListFreeFunc do_free);
-int _xcb_list_insert(_xcb_list *list, void *data);
 int _xcb_list_append(_xcb_list *list, void *data);
 void *_xcb_list_peek_head(_xcb_list *list);
-void *_xcb_list_remove_head(_xcb_list *list);
 void *_xcb_list_remove(_xcb_list *list, int (*cmp)(const void *, const void *), const void *data);
 void *_xcb_list_find(_xcb_list *list, int (*cmp)(const void *, const void *), const void *data);
 
@@ -58,7 +56,6 @@ typedef _xcb_list _xcb_map;
 _xcb_map *_xcb_map_new(void);
 void _xcb_map_delete(_xcb_map *q, XCBListFreeFunc do_free);
 int _xcb_map_put(_xcb_map *q, unsigned int key, void *data);
-void *_xcb_map_get(_xcb_map *q, unsigned int key);
 void *_xcb_map_remove(_xcb_map *q, unsigned int key);