]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add HEAD_PTR macro
authorAlan T. DeKok <aland@freeradius.org>
Fri, 28 Apr 2017 17:48:02 +0000 (13:48 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 28 Apr 2017 18:41:05 +0000 (14:41 -0400)
src/lib/io/time.h

index e75119e9729456b5665ce6aa2f7948e005d9acc8..ecc882aeaec5eaece33190c1c10ee9113a6f4b33 100644 (file)
@@ -83,6 +83,7 @@ typedef struct fr_time_tracking_t {
  */
 #define FR_DLIST_INIT(head) do { head.prev = head.next = &head; } while (0)
 #define FR_DLIST_INSERT_HEAD(head, entry) do { entry.next = head.next; entry.prev = &head; head.next->prev = &entry; head.next = &entry; } while (0)
+#define FR_DLIST_INSERT_HEAD_PTR(head, entry) do { entry.next = head->next; entry.prev = head; head->next->prev = &entry; head->next = &entry; } while (0)
 #define FR_DLIST_INSERT_TAIL(head, entry) do { entry.prev = head.prev; entry.next = &head; head.prev->next = &entry; head.prev = &entry; } while (0)
 #define FR_DLIST_INSERT_TAIL_PTR(p_head, entry) do { entry.prev = p_head->prev; entry.next = p_head; p_head->prev->next = &entry; p_head->prev = &entry; } while (0)
 #define FR_DLIST_REMOVE(entry) do { entry.prev->next = entry.next; entry.next->prev = entry.prev; FR_DLIST_INIT(entry); } while (0)