summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/list.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/utils/list.h b/src/utils/list.h
index 6e3ba20..710c520 100644
--- a/src/utils/list.h
+++ b/src/utils/list.h
@@ -40,7 +40,8 @@ static inline void list_append(struct list_entry *head, struct list_entry *new)
{
new->next = head;
new->prev = head->prev;
- head->prev->next = new;
+ if (head->prev != NULL)
+ head->prev->next = new;
head->prev = new;
}
@@ -51,8 +52,10 @@ static inline void list_append(struct list_entry *head, struct list_entry *new)
*/
static inline void list_del(struct list_entry *ent)
{
- ent->prev->next = ent->next;
- ent->next->prev = ent->prev;
+ if (ent->prev != NULL)
+ ent->prev->next = ent->next;
+ if (ent->next != NULL)
+ ent->next->prev = ent->prev;
ent->prev = ent;
ent->next = ent;