diff options
Diffstat (limited to 'source3/lib/ldb/include')
-rw-r--r-- | source3/lib/ldb/include/dlinklist.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/source3/lib/ldb/include/dlinklist.h b/source3/lib/ldb/include/dlinklist.h index d3252751db..62f885dd30 100644 --- a/source3/lib/ldb/include/dlinklist.h +++ b/source3/lib/ldb/include/dlinklist.h @@ -20,6 +20,9 @@ /* To use these macros you must have a structure containing a next and prev pointer */ +#ifndef _DLINKLIST_H +#define _DLINKLIST_H + /* hook into the front of the list */ #define DLIST_ADD(list, p) \ @@ -36,7 +39,6 @@ do { \ } while (0) /* remove an element from a list - element doesn't have to be in list. */ -#ifndef DLIST_REMOVE #define DLIST_REMOVE(list, p) \ do { \ if ((p) == (list)) { \ @@ -48,7 +50,6 @@ do { \ } \ if ((p) && ((p) != (list))) (p)->next = (p)->prev = NULL; \ } while (0) -#endif /* promote an element to the top of the list */ #define DLIST_PROMOTE(list, p) \ @@ -57,7 +58,7 @@ do { \ DLIST_ADD(list, p); \ } while (0) -/* hook into the end of the list - needs a tmp pointer */ +/* hook into the end of the list - needs the entry type */ #define DLIST_ADD_END(list, p, type) \ do { \ if (!(list)) { \ @@ -86,11 +87,11 @@ do { \ }\ } while (0) -/* demote an element to the end of the list, needs a tmp pointer */ -#define DLIST_DEMOTE(list, p, tmp) \ +/* demote an element to the end of the list, needs the entry type */ +#define DLIST_DEMOTE(list, p, type) \ do { \ DLIST_REMOVE(list, p); \ - DLIST_ADD_END(list, p, tmp); \ + DLIST_ADD_END(list, p, type); \ } while (0) /* concatenate two lists - putting all elements of the 2nd list at the @@ -108,3 +109,5 @@ do { \ } \ } \ } while (0) + +#endif /* _DLINKLIST_H */ |