summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Anthony <johnanthony@lavabit.com>2013-06-15 20:06:41 +0100
committerJohn Anthony <johnanthony@lavabit.com>2013-06-15 20:06:41 +0100
commit0bab0bb4a7c11a7ad4563e86838ba2cff804389a (patch)
treef27de009b7ef3054f3a443aa566d76fb23db4e63
parent3dc1040569cf98ae5b7efc32f8d652e803a126db (diff)
downloadnyancat-0bab0bb4a7c11a7ad4563e86838ba2cff804389a.tar.gz
nyancat-0bab0bb4a7c11a7ad4563e86838ba2cff804389a.tar.bz2
nyancat-0bab0bb4a7c11a7ad4563e86838ba2cff804389a.zip
Tidied out list implementation
-rw-r--r--list.h69
1 files changed, 33 insertions, 36 deletions
diff --git a/list.h b/list.h
index 3a76885..d8dfa27 100644
--- a/list.h
+++ b/list.h
@@ -1,10 +1,11 @@
#ifndef __LIST_H
#define __LIST_H
-/* This file is from Linux Kernel (include/linux/list.h)
+/* This file is from the Linux Kernel (include/linux/list.h)
* and modified by simply removing hardware prefetching of list items.
- * Here by copyright, credits attributed to wherever they belong.
+ * Copyright, credits attributed to wherever they belong.
* Kulesh Shanmugasundaram (kulesh [squiggly] isis.poly.edu)
+ * Modified to round out my personal collection by John Anthony
*/
/*
@@ -54,8 +55,8 @@ static inline void __list_add(struct list_head *new,
* Insert a new entry after the specified head.
* This is good for implementing stacks.
*/
-static inline void list_add(struct list_head *new, struct list_head *head)
-{
+static inline void
+list_add(struct list_head *new, struct list_head *head) {
__list_add(new, head, head->next);
}
@@ -67,8 +68,8 @@ static inline void list_add(struct list_head *new, struct list_head *head)
* Insert a new entry before the specified head.
* This is useful for implementing queues.
*/
-static inline void list_add_tail(struct list_head *new, struct list_head *head)
-{
+static inline void
+list_add_tail(struct list_head *new, struct list_head *head) {
__list_add(new, head->prev, head);
}
@@ -79,8 +80,8 @@ static inline void list_add_tail(struct list_head *new, struct list_head *head)
* This is only for internal list manipulation where we know
* the prev/next entries already!
*/
-static inline void __list_del(struct list_head *prev, struct list_head *next)
-{
+static inline void
+__list_del(struct list_head *prev, struct list_head *next) {
next->prev = prev;
prev->next = next;
}
@@ -88,10 +89,11 @@ static inline void __list_del(struct list_head *prev, struct list_head *next)
/**
* list_del - deletes entry from list.
* @entry: the element to delete from the list.
- * Note: list_empty on entry does not return true after this, the entry is in an undefined state.
+ * Note: list_empty on entry does not return true after this. this
+ * is undefiend behaviour.
*/
-static inline void list_del(struct list_head *entry)
-{
+static inline void
+list_del(struct list_head *entry) {
__list_del(entry->prev, entry->next);
entry->next = (void *) 0;
entry->prev = (void *) 0;
@@ -101,8 +103,8 @@ static inline void list_del(struct list_head *entry)
* list_del_init - deletes entry from list and reinitialize it.
* @entry: the element to delete from the list.
*/
-static inline void list_del_init(struct list_head *entry)
-{
+static inline void
+list_del_init(struct list_head *entry) {
__list_del(entry->prev, entry->next);
INIT_LIST_HEAD(entry);
}
@@ -112,10 +114,10 @@ static inline void list_del_init(struct list_head *entry)
* @list: the entry to move
* @head: the head that will precede our entry
*/
-static inline void list_move(struct list_head *list, struct list_head *head)
-{
- __list_del(list->prev, list->next);
- list_add(list, head);
+static inline void
+list_move(struct list_head *list, struct list_head *head) {
+ __list_del(list->prev, list->next);
+ list_add(list, head);
}
/**
@@ -123,32 +125,29 @@ static inline void list_move(struct list_head *list, struct list_head *head)
* @list: the entry to move
* @head: the head that will follow our entry
*/
-static inline void list_move_tail(struct list_head *list,
- struct list_head *head)
-{
- __list_del(list->prev, list->next);
- list_add_tail(list, head);
+static inline void
+list_move_tail(struct list_head *list, struct list_head *head) {
+ __list_del(list->prev, list->next);
+ list_add_tail(list, head);
}
/**
* list_empty - tests whether a list is empty
* @head: the list to test.
*/
-static inline int list_empty(struct list_head *head)
-{
+static inline int
+list_empty(struct list_head *head) {
return head->next == head;
}
-static inline void __list_splice(struct list_head *list,
- struct list_head *head)
-{
+static inline void
+__list_splice(struct list_head *list, struct list_head *head) {
struct list_head *first = list->next;
struct list_head *last = list->prev;
struct list_head *at = head->next;
first->prev = head;
head->next = first;
-
last->next = at;
at->prev = last;
}
@@ -158,8 +157,8 @@ static inline void __list_splice(struct list_head *list,
* @list: the new list to add.
* @head: the place to add it in the first list.
*/
-static inline void list_splice(struct list_head *list, struct list_head *head)
-{
+static inline void
+list_splice(struct list_head *list, struct list_head *head) {
if (!list_empty(list))
__list_splice(list, head);
}
@@ -171,9 +170,8 @@ static inline void list_splice(struct list_head *list, struct list_head *head)
*
* The list at @list is reinitialised
*/
-static inline void list_splice_init(struct list_head *list,
- struct list_head *head)
-{
+static inline void
+list_splice_init(struct list_head *list, struct list_head *head) {
if (!list_empty(list)) {
__list_splice(list, head);
INIT_LIST_HEAD(list);
@@ -207,7 +205,7 @@ static inline void list_splice_init(struct list_head *list,
pos = pos->prev)
/**
- * list_for_each_safe - iterate over a list safe against removal of list entry
+ * list_for_each_safe - iterate over a list safe against removal
* @pos: the &struct list_head to use as a loop counter.
* @n: another &struct list_head to use as temporary storage
* @head: the head for your list.
@@ -228,7 +226,7 @@ static inline void list_splice_init(struct list_head *list,
pos = list_entry(pos->member.next, typeof(*pos), member))
/**
- * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
+ * list_for_each_entry_safe - iterate list entries safe against removal
* @pos: the type * to use as a loop counter.
* @n: another type * to use as temporary storage
* @head: the head for your list.
@@ -240,5 +238,4 @@ static inline void list_splice_init(struct list_head *list,
&pos->member != (head); \
pos = n, n = list_entry(n->member.next, typeof(*n), member))
-
#endif