1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-02-15 00:51:55 +00:00

shl: remove custom offsetof helpers

Use the generic shl_container_of() instead of all the custom helpers.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
This commit is contained in:
David Herrmann 2014-03-21 12:16:39 +01:00
parent 12bf5e026e
commit 4f55a01dc3
3 changed files with 7 additions and 14 deletions

View file

@ -20,13 +20,7 @@
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
/* miscellaneous */
#define shl_dlist_offsetof(pointer, type, member) ({ \
const typeof(((type*)0)->member) *__ptr = (pointer); \
(type*)(((char*)__ptr) - offsetof(type, member)); \
})
#include "shl_macro.h"
/* double linked list */
@ -102,7 +96,7 @@ static inline struct shl_dlist *shl_dlist_last(struct shl_dlist *head)
}
#define shl_dlist_entry(ptr, type, member) \
shl_dlist_offsetof((ptr), type, member)
shl_container_of((ptr), type, member)
#define shl_dlist_first_entry(head, type, member) \
shl_dlist_entry(shl_dlist_first(head), type, member)

View file

@ -24,13 +24,12 @@
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
#include "shl_macro.h"
/* miscellaneous */
#define shl_htable_offsetof(pointer, type, member) ({ \
const typeof(((type*)0)->member) *__ptr = (pointer); \
(type*)(((char*)__ptr) - offsetof(type, member)); \
})
#define shl_htable_entry(pointer, type, member) \
shl_container_of((pointer), type, member)
/* htable */

View file

@ -74,7 +74,7 @@ struct peer {
};
#define peer_from_htable(_p) \
shl_htable_offsetof((_p), struct peer, p2p_mac)
shl_htable_entry((_p), struct peer, p2p_mac)
int peer_new(struct link *l,
const char *p2p_mac,
@ -125,7 +125,7 @@ struct link {
};
#define link_from_htable(_l) \
shl_htable_offsetof((_l), struct link, ifindex)
shl_htable_entry((_l), struct link, ifindex)
#define LINK_FIRST_PEER(_l) \
SHL_HTABLE_FIRST_MACRO(&(_l)->peers, peer_from_htable)
#define LINK_FOREACH_PEER(_i, _l) \