diff options
Diffstat (limited to 'src/common.c')
-rw-r--r-- | src/common.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/common.c b/src/common.c index 4b72e39..96548d9 100644 --- a/src/common.c +++ b/src/common.c @@ -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' |