src/utils_llist.c: Improved robustness against NULL pointers.
authorSebastian Harl <sh@tokkee.org>
Thu, 22 May 2008 11:36:00 +0000 (13:36 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Tue, 27 May 2008 11:12:28 +0000 (13:12 +0200)
All functions searching for some list entry now return NULL if the given
list equals NULL. Imho, that's the expected behavior. Also, it removes the
need to check the lists from the calling function while that function
usually checks the returned list entry anyway.

Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_llist.c

index 7fae025..bf5f7e4 100644 (file)
@@ -59,6 +59,9 @@ void llist_destroy (llist_t *l)
        llentry_t *e_this;
        llentry_t *e_next;
 
+       if (l == NULL)
+               return;
+
        for (e_this = l->head; e_this != NULL; e_this = e_next)
        {
                e_next = e_this->next;
@@ -140,6 +143,9 @@ llentry_t *llist_search (llist_t *l, const char *key)
 {
        llentry_t *e;
 
+       if (l == NULL)
+               return (NULL);
+
        for (e = l->head; e != NULL; e = e->next)
                if (strcmp (key, e->key) == 0)
                        break;
@@ -149,10 +155,14 @@ llentry_t *llist_search (llist_t *l, const char *key)
 
 llentry_t *llist_head (llist_t *l)
 {
+       if (l == NULL)
+               return (NULL);
        return (l->head);
 }
 
 llentry_t *llist_tail (llist_t *l)
 {
+       if (l == NULL)
+               return (NULL);
        return (l->tail);
 }