Avoid undefined char* arithmetic.
Avoid undefined char* arithmetic.

Use uintptr_t instead of char* when calculating a pointer to a container
object via a pointer to a member object. It shouldn't really make any
difference in practice but strictly speaking the char* arithmetic may be
undefined, and GCC is being more and more aggressive with its
optimisations such that it's pertinent to avoid the UB if possible,
which it is in this case.

davmac314/dasynq,davmac314/dasynq