Print this page
Reduce lint
*** 36,46 ****
#include <assert.h>
#define ASSERT(a) assert(a)
#endif
#ifdef lint
! extern list_node_t *list_d2l(list_t *list, void *obj);
#else
#define list_d2l(a, obj) ((list_node_t *)(((char *)obj) + (a)->list_offset))
#endif
#define list_object(a, node) ((void *)(((char *)node) - (a)->list_offset))
#define list_empty(a) ((a)->list_head.list_next == &(a)->list_head)
--- 36,56 ----
#include <assert.h>
#define ASSERT(a) assert(a)
#endif
#ifdef lint
! static list_node_t *
! list_d2l(list_t *list, void *obj)
! {
! /* Pretty version for lint... */
! uint64_t *offset = (uint64_t *)obj;
!
! if (!IS_P2ALIGNED(obj, 8))
! return (NULL);
!
! return ((list_node_t *)(offset + (list->list_offset >> 3)));
! }
#else
#define list_d2l(a, obj) ((list_node_t *)(((char *)obj) + (a)->list_offset))
#endif
#define list_object(a, node) ((void *)(((char *)node) - (a)->list_offset))
#define list_empty(a) ((a)->list_head.list_next == &(a)->list_head)