/* @pointer: pointer @buf: pointer to buffer address on return position of terminating zero word  */
static void pointer(void *pointer, u16 **buf)
/* @pointer: pointer @buf: pointer to buffer address on return position of terminating zero word  */
static void pointer(void *pointer, u16 **buf)
{
	int i;
	u16 c;
	uintptr_t p = (uintptr_t)pointer;
	u16 *pos = *buf;
	for (i = 8 * sizeof(p) - 4; i >= 0; i -= 4) {
		c = (p >> i) & 0x0f;
		c += '0';
		if (c > '9')
			c += 'a' - '9' - 1;
		*pos++ = c;
	}
	*pos = 0;
	*buf = pos;
}