Add a LIST_HEADER macro
To save us from specifying the `next' and `prev' pointers all the time. It's not perfect, just a tiny bit better.
This commit is contained in:
@@ -254,7 +254,9 @@ xstrndup (const char *s, size_t n)
|
||||
|
||||
// --- Double-linked list helpers ----------------------------------------------
|
||||
|
||||
// The links of the list need to have the members `prev' and `next'.
|
||||
#define LIST_HEADER(type) \
|
||||
struct type *next; \
|
||||
struct type *prev;
|
||||
|
||||
#define LIST_PREPEND(head, link) \
|
||||
BLOCK_START \
|
||||
@@ -562,8 +564,7 @@ error_propagate (struct error **destination, struct error *source)
|
||||
|
||||
struct str_map_link
|
||||
{
|
||||
struct str_map_link *next; ///< The next link in a chain
|
||||
struct str_map_link *prev; ///< The previous link in a chain
|
||||
LIST_HEADER (str_map_link)
|
||||
|
||||
void *data; ///< Payload
|
||||
size_t key_length; ///< Length of the key without '\0'
|
||||
|
||||
Reference in New Issue
Block a user