Use more standard types for manipulating pointers.
- Use a uintptr_t cast to get the virtual address of a pointer in USB_P2U() instead of a ptrdiff_t. - Add offsets to a char * pointer directly without roundtripping the pointer through a ptrdiff_t in USB_ADD_BYTES(). Reviewed by: imp, hselasky Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27581
This commit is contained in:
parent
aa54c24283
commit
3ab53b27e3
@ -58,11 +58,11 @@
|
||||
|
||||
/* helper for converting pointers to integers */
|
||||
#define USB_P2U(ptr) \
|
||||
(((const uint8_t *)(ptr)) - ((const uint8_t *)0))
|
||||
((uintptr_t)(ptr))
|
||||
|
||||
/* helper for computing offsets */
|
||||
#define USB_ADD_BYTES(ptr,size) \
|
||||
((void *)(USB_P2U(ptr) + (size)))
|
||||
((void *)(__DECONST(char *, (ptr)) + (size)))
|
||||
|
||||
/* debug macro */
|
||||
#define USB_ASSERT KASSERT
|
||||
|
Loading…
Reference in New Issue
Block a user