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)