aboutsummaryrefslogtreecommitdiff
path: root/src/backend/lib/dllist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/lib/dllist.c')
-rw-r--r--src/backend/lib/dllist.c246
1 files changed, 126 insertions, 120 deletions
diff --git a/src/backend/lib/dllist.c b/src/backend/lib/dllist.c
index b8dd14a231b..70feee02bb9 100644
--- a/src/backend/lib/dllist.c
+++ b/src/backend/lib/dllist.c
@@ -1,15 +1,15 @@
/*-------------------------------------------------------------------------
*
* dllist.c--
- * this is a simple doubly linked list implementation
- * replaces the old simplelists stuff
- * the elements of the lists are void*
+ * this is a simple doubly linked list implementation
+ * replaces the old simplelists stuff
+ * the elements of the lists are void*
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/lib/dllist.c,v 1.5 1997/08/19 21:31:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/lib/dllist.c,v 1.6 1997/09/07 04:41:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,191 +18,197 @@
#include <lib/dllist.h>
-Dllist*
+Dllist *
DLNewList(void)
{
- Dllist* l;
+ Dllist *l;
- l = malloc(sizeof(Dllist));
- l->dll_head = 0;
- l->dll_tail = 0;
+ l = malloc(sizeof(Dllist));
+ l->dll_head = 0;
+ l->dll_tail = 0;
- return l;
+ return l;
}
- /* free up a list and all the nodes in it*/
+ /* free up a list and all the nodes in it */
void
-DLFreeList(Dllist* l)
+DLFreeList(Dllist * l)
{
- Dlelem* curr;
+ Dlelem *curr;
- while ( (curr = DLRemHead(l)) != 0)
- free(curr);
+ while ((curr = DLRemHead(l)) != 0)
+ free(curr);
- free(l);
+ free(l);
}
-Dlelem*
-DLNewElem(void* val)
+Dlelem *
+DLNewElem(void *val)
{
- Dlelem* e;
- e = malloc(sizeof(Dlelem));
- e->dle_next = 0;
- e->dle_prev = 0;
- e->dle_val = val;
- e->dle_list = 0;
- return e;
+ Dlelem *e;
+
+ e = malloc(sizeof(Dlelem));
+ e->dle_next = 0;
+ e->dle_prev = 0;
+ e->dle_val = val;
+ e->dle_list = 0;
+ return e;
}
void
-DLFreeElem(Dlelem* e)
+DLFreeElem(Dlelem * e)
{
- free(e);
+ free(e);
}
-Dlelem*
-DLGetHead(Dllist* l)
+Dlelem *
+DLGetHead(Dllist * l)
{
- return (l ? l->dll_head : 0);
+ return (l ? l->dll_head : 0);
}
/* get the value stored in the first element */
#ifdef NOT_USED
-void*
-DLGetHeadVal(Dllist* l)
+void *
+DLGetHeadVal(Dllist * l)
{
- Dlelem* e = DLGetHead(l);
-
- return (e ? e->dle_val : 0);
+ Dlelem *e = DLGetHead(l);
+
+ return (e ? e->dle_val : 0);
}
+
#endif
-Dlelem*
-DLGetTail(Dllist* l)
+Dlelem *
+DLGetTail(Dllist * l)
{
- return (l ? l->dll_tail : 0);
+ return (l ? l->dll_tail : 0);
}
/* get the value stored in the first element */
#ifdef NOT_USED
-void*
-DLGetTailVal(Dllist* l)
+void *
+DLGetTailVal(Dllist * l)
{
- Dlelem* e = DLGetTail(l);
-
- return (e ? e->dle_val : 0);
+ Dlelem *e = DLGetTail(l);
+
+ return (e ? e->dle_val : 0);
}
+
#endif
-Dlelem*
-DLGetPred(Dlelem* e) /* get predecessor */
+Dlelem *
+DLGetPred(Dlelem * e) /* get predecessor */
{
- return (e ? e->dle_prev : 0);
+ return (e ? e->dle_prev : 0);
}
-Dlelem*
-DLGetSucc(Dlelem* e) /* get successor */
+Dlelem *
+DLGetSucc(Dlelem * e) /* get successor */
{
- return (e ? e->dle_next : 0);
+ return (e ? e->dle_next : 0);
}
void
-DLRemove(Dlelem* e)
+DLRemove(Dlelem * e)
{
- Dllist* l;
+ Dllist *l;
- if (e->dle_prev)
- e->dle_prev->dle_next = e->dle_next;
- if (e->dle_next)
- e->dle_next->dle_prev = e->dle_prev;
+ if (e->dle_prev)
+ e->dle_prev->dle_next = e->dle_next;
+ if (e->dle_next)
+ e->dle_next->dle_prev = e->dle_prev;
- /* check to see if we're removing the head or tail */
- l = e->dle_list;
- if (e == l->dll_head)
- DLRemHead(l);
- if (e == l->dll_tail)
- DLRemTail(l);
+ /* check to see if we're removing the head or tail */
+ l = e->dle_list;
+ if (e == l->dll_head)
+ DLRemHead(l);
+ if (e == l->dll_tail)
+ DLRemTail(l);
}
-void
-DLAddHead(Dllist* l, Dlelem* e)
+void
+DLAddHead(Dllist * l, Dlelem * e)
{
- e->dle_list = l;
-
- if (l->dll_head) {
- l->dll_head->dle_prev = e;
- e->dle_next = l->dll_head;
- }
- e->dle_prev = 0;
- l->dll_head = e;
-
- if (l->dll_tail == 0) /* if this is first element added */
- l->dll_tail = l->dll_head;
+ e->dle_list = l;
+
+ if (l->dll_head)
+ {
+ l->dll_head->dle_prev = e;
+ e->dle_next = l->dll_head;
+ }
+ e->dle_prev = 0;
+ l->dll_head = e;
+
+ if (l->dll_tail == 0) /* if this is first element added */
+ l->dll_tail = l->dll_head;
}
void
-DLAddTail(Dllist* l, Dlelem* e)
+DLAddTail(Dllist * l, Dlelem * e)
{
- e->dle_list = l;
-
- if (l->dll_tail) {
- l->dll_tail->dle_next = e;
- e->dle_prev = l->dll_tail;
- }
- e->dle_next = 0;
- l->dll_tail = e;
-
- if (l->dll_head == 0) /* if this is first element added */
- l->dll_head = l->dll_tail;
+ e->dle_list = l;
+
+ if (l->dll_tail)
+ {
+ l->dll_tail->dle_next = e;
+ e->dle_prev = l->dll_tail;
+ }
+ e->dle_next = 0;
+ l->dll_tail = e;
+
+ if (l->dll_head == 0) /* if this is first element added */
+ l->dll_head = l->dll_tail;
}
-Dlelem*
-DLRemHead(Dllist* l)
+Dlelem *
+DLRemHead(Dllist * l)
{
- /* remove and return the head */
- Dlelem* result;
+ /* remove and return the head */
+ Dlelem *result;
- if (l->dll_head == 0)
- return 0;
+ if (l->dll_head == 0)
+ return 0;
- result = l->dll_head;
- if (l->dll_head->dle_next) {
- l->dll_head->dle_next->dle_prev = 0;
- }
+ result = l->dll_head;
+ if (l->dll_head->dle_next)
+ {
+ l->dll_head->dle_next->dle_prev = 0;
+ }
- l->dll_head = l->dll_head->dle_next;
+ l->dll_head = l->dll_head->dle_next;
- result->dle_next = 0;
- result->dle_list = 0;
-
- if (result == l->dll_tail) /* if the head is also the tail */
- l->dll_tail = 0;
+ result->dle_next = 0;
+ result->dle_list = 0;
- return result;
+ if (result == l->dll_tail) /* if the head is also the tail */
+ l->dll_tail = 0;
+
+ return result;
}
-Dlelem*
-DLRemTail(Dllist* l)
+Dlelem *
+DLRemTail(Dllist * l)
{
- /* remove and return the tail */
- Dlelem* result;
+ /* remove and return the tail */
+ Dlelem *result;
- if (l->dll_tail == 0 )
- return 0;
+ if (l->dll_tail == 0)
+ return 0;
- result = l->dll_tail;
- if (l->dll_tail->dle_prev) {
- l->dll_tail->dle_prev->dle_next = 0;
- }
- l->dll_tail = l->dll_tail->dle_prev;
+ result = l->dll_tail;
+ if (l->dll_tail->dle_prev)
+ {
+ l->dll_tail->dle_prev->dle_next = 0;
+ }
+ l->dll_tail = l->dll_tail->dle_prev;
- result->dle_prev = 0;
- result->dle_list = 0;
+ result->dle_prev = 0;
+ result->dle_list = 0;
- if (result == l->dll_head) /* if the tail is also the head */
- l->dll_head = 0;
+ if (result == l->dll_head) /* if the tail is also the head */
+ l->dll_head = 0;
- return result;
+ return result;
}
-