s4-ldb: update ldb_tdb to use new DLIST_ macros
authorAndrew Tridgell <tridge@samba.org>
Sat, 6 Feb 2010 01:37:48 +0000 (12:37 +1100)
committerJeremy Allison <jra@samba.org>
Wed, 10 Feb 2010 23:36:20 +0000 (15:36 -0800)
(cherry picked from commit 6ede911654566a7e21ded70dacac68df3b6a1bca)

source4/lib/ldb/ldb_tdb/ldb_tdb_wrap.c

index 6ee8417e25409f865ec23c6524785c7d65e1d400..b9f3e79f205342de2c809d16045bd1cf0d117e32 100644 (file)
@@ -22,6 +22,7 @@
 */
 
 #include "ldb_tdb.h"
+#include "dlinklist.h"
 
 /*
   the purpose of this code is to work around the braindead posix locking
@@ -42,15 +43,7 @@ static struct ltdb_wrap *tdb_list;
 static int ltdb_wrap_destructor(struct ltdb_wrap *w)
 {
        tdb_close(w->tdb);
-       if (w->next) {
-               w->next->prev = w->prev;
-       }
-       if (w->prev) {
-               w->prev->next = w->next;
-       }
-       if (w == tdb_list) {
-               tdb_list = w->next;
-       }
+       DLIST_REMOVE(tdb_list, w);
        return 0;
 }                               
 
@@ -143,12 +136,7 @@ struct tdb_context *ltdb_wrap_open(TALLOC_CTX *mem_ctx,
 
        talloc_set_destructor(w, ltdb_wrap_destructor);
 
-       w->next = tdb_list;
-       w->prev = NULL;
-       if (tdb_list) {
-               tdb_list->prev = w;
-       }
-       tdb_list = w;
+       DLIST_ADD(tdb_list, w);
        
        return w->tdb;
 }