/* @str: ASCII string Return: UTF-16 string. NULL if out of memory.  */
static u16* efi_str_to_u16(char *str)
/* @str: ASCII string Return: UTF-16 string. NULL if out of memory.  */
static u16* efi_str_to_u16(char *str)
{
	efi_uintn_t len;
	u16 *out, *dst;
	efi_status_t ret;
	len = sizeof(u16) * (utf8_utf16_strlen(str) + 1);
	ret = efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, len, (void **)&out);
	if (ret != EFI_SUCCESS)
		return NULL;
	dst = out;
	utf8_utf16_strcpy(&dst, str);
	return out;
}