/* @src: source buffer @uefi: target buffer, possibly unaligned  */
static void path_to_uefi(void *uefi, const char *src)
/* @src: source buffer @uefi: target buffer, possibly unaligned  */
static void path_to_uefi(void *uefi, const char *src)
{
	u16 *pos = uefi;
	allow_unaligned();
	while (*src) {
		s32 code = utf8_get(&src);
		if (code < 0)
			code = '?';
		else if (code == '/')
			code = '\\';
		utf16_put(code, &pos);
	}
	*pos = 0;
}