/* While we find nice hex chars, build a long_val. Return number of chars processed.  */
int hex2u64(const char *ptr, u64 *long_val)
/* While we find nice hex chars, build a long_val. Return number of chars processed.  */
int hex2u64(const char *ptr, u64 *long_val)
{
	const char *p = ptr;
	*long_val = 0;
	while (*p) {
		const int hex_val = hex(*p);
		if (hex_val < 0)
			break;
		*long_val = (*long_val << 4) | hex_val;
		p++;
	}
	return p - ptr;
}