Hackers,

This patches corrects the use of 0 as NULL in dllist.c, as reported by
sparse.  There are still other places to be corrected.

Althought fairly trivial, it's not meant to be applied just now ...

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"El que vive para el futuro es un iluso, y el que vive para el pasado,
un imbécil" (Luis Adler, "Los tripulantes de la noche")
Index: src/backend/lib/dllist.c
===================================================================
RCS file: /home/alvherre/cvs/pgsql/src/backend/lib/dllist.c,v
retrieving revision 1.30
diff -c -r1.30 dllist.c
*** src/backend/lib/dllist.c    31 Dec 2004 21:59:48 -0000      1.30
--- src/backend/lib/dllist.c    15 Jan 2005 03:50:40 -0000
***************
*** 43,50 ****
                                 errmsg("out of memory")));
  #endif
        }
!       l->dll_head = 0;
!       l->dll_tail = 0;
  
        return l;
  }
--- 43,50 ----
                                 errmsg("out of memory")));
  #endif
        }
!       l->dll_head = NULL;
!       l->dll_tail = NULL;
  
        return l;
  }
***************
*** 52,59 ****
  void
  DLInitList(Dllist *list)
  {
!       list->dll_head = 0;
!       list->dll_tail = 0;
  }
  
  /*
--- 52,59 ----
  void
  DLInitList(Dllist *list)
  {
!       list->dll_head = NULL;
!       list->dll_tail = NULL;
  }
  
  /*
***************
*** 65,71 ****
  {
        Dlelem     *curr;
  
!       while ((curr = DLRemHead(list)) != 0)
                free(curr);
  
        free(list);
--- 65,71 ----
  {
        Dlelem     *curr;
  
!       while ((curr = DLRemHead(list)) != NULL)
                free(curr);
  
        free(list);
***************
*** 88,107 ****
                                 errmsg("out of memory")));
  #endif
        }
!       e->dle_next = 0;
!       e->dle_prev = 0;
        e->dle_val = val;
!       e->dle_list = 0;
        return e;
  }
  
  void
  DLInitElem(Dlelem *e, void *val)
  {
!       e->dle_next = 0;
!       e->dle_prev = 0;
        e->dle_val = val;
!       e->dle_list = 0;
  }
  
  void
--- 88,107 ----
                                 errmsg("out of memory")));
  #endif
        }
!       e->dle_next = NULL;
!       e->dle_prev = NULL;
        e->dle_val = val;
!       e->dle_list = NULL;
        return e;
  }
  
  void
  DLInitElem(Dlelem *e, void *val)
  {
!       e->dle_next = NULL;
!       e->dle_prev = NULL;
        e->dle_val = val;
!       e->dle_list = NULL;
  }
  
  void
***************
*** 132,140 ****
                l->dll_tail = e->dle_prev;
        }
  
!       e->dle_next = 0;
!       e->dle_prev = 0;
!       e->dle_list = 0;
  }
  
  void
--- 132,140 ----
                l->dll_tail = e->dle_prev;
        }
  
!       e->dle_next = NULL;
!       e->dle_prev = NULL;
!       e->dle_list = NULL;
  }
  
  void
***************
*** 145,154 ****
        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 = e;
  }
  
--- 145,154 ----
        if (l->dll_head)
                l->dll_head->dle_prev = e;
        e->dle_next = l->dll_head;
!       e->dle_prev = NULL;
        l->dll_head = e;
  
!       if (l->dll_tail == NULL)                /* if this is first element 
added */
                l->dll_tail = e;
  }
  
***************
*** 160,169 ****
        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 = e;
  }
  
--- 160,169 ----
        if (l->dll_tail)
                l->dll_tail->dle_next = e;
        e->dle_prev = l->dll_tail;
!       e->dle_next = NULL;
        l->dll_tail = e;
  
!       if (l->dll_head == NULL)                /* if this is first element 
added */
                l->dll_head = e;
  }
  
***************
*** 173,191 ****
        /* remove and return the head */
        Dlelem     *result = l->dll_head;
  
!       if (result == 0)
                return result;
  
        if (result->dle_next)
!               result->dle_next->dle_prev = 0;
  
        l->dll_head = result->dle_next;
  
        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;
  }
--- 173,191 ----
        /* remove and return the head */
        Dlelem     *result = l->dll_head;
  
!       if (result == NULL)
                return result;
  
        if (result->dle_next)
!               result->dle_next->dle_prev = NULL;
  
        l->dll_head = result->dle_next;
  
        if (result == l->dll_tail)      /* if the head is also the tail */
!               l->dll_tail = NULL;
  
!       result->dle_next = NULL;
!       result->dle_list = NULL;
  
        return result;
  }
***************
*** 196,214 ****
        /* remove and return the tail */
        Dlelem     *result = l->dll_tail;
  
!       if (result == 0)
                return result;
  
        if (result->dle_prev)
!               result->dle_prev->dle_next = 0;
  
        l->dll_tail = result->dle_prev;
  
        if (result == l->dll_head)      /* if the tail is also the head */
!               l->dll_head = 0;
  
!       result->dle_prev = 0;
!       result->dle_list = 0;
  
        return result;
  }
--- 196,214 ----
        /* remove and return the tail */
        Dlelem     *result = l->dll_tail;
  
!       if (result == NULL)
                return result;
  
        if (result->dle_prev)
!               result->dle_prev->dle_next = NULL;
  
        l->dll_tail = result->dle_prev;
  
        if (result == l->dll_head)      /* if the tail is also the head */
!               l->dll_head = NULL;
  
!       result->dle_prev = NULL;
!       result->dle_list = NULL;
  
        return result;
  }
***************
*** 222,228 ****
        if (l->dll_head == e)
                return;                                 /* Fast path if already 
at front */
  
!       Assert(e->dle_prev != 0);       /* since it's not the head */
        e->dle_prev->dle_next = e->dle_next;
  
        if (e->dle_next)
--- 222,228 ----
        if (l->dll_head == e)
                return;                                 /* Fast path if already 
at front */
  
!       Assert(e->dle_prev != NULL);    /* since it's not the head */
        e->dle_prev->dle_next = e->dle_next;
  
        if (e->dle_next)
***************
*** 236,242 ****
  
        l->dll_head->dle_prev = e;
        e->dle_next = l->dll_head;
!       e->dle_prev = 0;
        l->dll_head = e;
        /* We need not check dll_tail, since there must have been > 1 entry */
  }
--- 236,242 ----
  
        l->dll_head->dle_prev = e;
        e->dle_next = l->dll_head;
!       e->dle_prev = NULL;
        l->dll_head = e;
        /* We need not check dll_tail, since there must have been > 1 entry */
  }
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to