/* Return: 'true' @dest contains binary GUID 'false' @dest contents are undefined  */
static bool wmi_parse_guid(const u8 *src, u8 *dest)
/* Return: 'true' @dest contains binary GUID 'false' @dest contents are undefined  */
static bool wmi_parse_guid(const u8 *src, u8 *dest)
{
	static const int size[] = { 4, 2, 2, 2, 6 };
	int i, j, v;
	if (src[8]  != '-' || src[13] != '-' ||
		src[18] != '-' || src[23] != '-')
		return false;
	for (j = 0; j < 5; j++, src++) {
		for (i = 0; i < size[j]; i++, src += 2, *dest++ = v) {
			v = wmi_parse_hexbyte(src);
			if (v < 0)
				return false;
		}
	}
	return true;
}