Index: head/stand/efi/boot1/boot1.c =================================================================== --- head/stand/efi/boot1/boot1.c +++ head/stand/efi/boot1/boot1.c @@ -29,7 +29,6 @@ #include #include -typedef CHAR16 efi_char; #include #include "boot_module.h" Index: head/stand/efi/include/efichar.h =================================================================== --- head/stand/efi/include/efichar.h +++ head/stand/efi/include/efichar.h @@ -29,6 +29,12 @@ #ifndef _BOOT_EFI_EFICHAR_H_ #define _BOOT_EFI_EFICHAR_H_ +#ifdef _STANDALONE +#include + +typedef CHAR16 efi_char; +#endif + int ucs2_to_utf8(const efi_char *, char **); int utf8_to_ucs2(const char *, efi_char **, size_t *); int ucs2len(const efi_char *); Index: head/stand/efi/libefi/Makefile =================================================================== --- head/stand/efi/libefi/Makefile +++ head/stand/efi/libefi/Makefile @@ -52,6 +52,4 @@ CFLAGS+= -DTERM_EMU .endif -CFLAGS+= -DLIBEFI - .include Index: head/stand/efi/libefi/efichar.c =================================================================== --- head/stand/efi/libefi/efichar.c +++ head/stand/efi/libefi/efichar.c @@ -29,16 +29,16 @@ #include #include -#ifdef LIBEFI +#ifdef _STANDALONE #include #else #include #include #include #include -#endif #include #include +#endif #include "efichar.h" Index: head/stand/efi/libefi/efipart.c =================================================================== --- head/stand/efi/libefi/efipart.c +++ head/stand/efi/libefi/efipart.c @@ -39,6 +39,7 @@ #include #include #include +#include #include static EFI_GUID blkio_guid = BLOCK_IO_PROTOCOL; @@ -564,8 +565,7 @@ unit = 0; /* FILEPATH_DEVICE_PATH has 0 terminated string */ - for (len = 0; node->PathName[len] != 0; len++) - ; + len = ucs2len(node->PathName); if ((pathname = malloc(len + 1)) == NULL) { printf("Failed to add disk, out of memory\n"); free(pd);