efi_loader: use u16* for file name
UTF-16 strings in our code should all be u16 *. Fix an inconsistency for
file names which may lead to a warning for printf("%ls", ).
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/include/efi_api.h b/include/efi_api.h
index 1d37747..d899af5 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -909,7 +909,7 @@
u64 rev;
efi_status_t (EFIAPI *open)(struct efi_file_handle *file,
struct efi_file_handle **new_handle,
- s16 *file_name, u64 open_mode, u64 attributes);
+ u16 *file_name, u64 open_mode, u64 attributes);
efi_status_t (EFIAPI *close)(struct efi_file_handle *file);
efi_status_t (EFIAPI *delete)(struct efi_file_handle *file);
efi_status_t (EFIAPI *read)(struct efi_file_handle *file,
diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index 8a4f3a9..9d709a8 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -148,7 +148,7 @@
* Returns: handle to the opened file or NULL
*/
static struct efi_file_handle *file_open(struct file_system *fs,
- struct file_handle *parent, s16 *file_name, u64 mode,
+ struct file_handle *parent, u16 *file_name, u64 mode,
u64 attributes)
{
struct file_handle *fh;
@@ -157,8 +157,8 @@
int flen = 0;
if (file_name) {
- utf16_to_utf8((u8 *)f0, (u16 *)file_name, 1);
- flen = u16_strlen((u16 *)file_name);
+ utf16_to_utf8((u8 *)f0, file_name, 1);
+ flen = u16_strlen(file_name);
}
/* we could have a parent, but also an absolute path: */
@@ -183,7 +183,7 @@
*p++ = '/';
}
- utf16_to_utf8((u8 *)p, (u16 *)file_name, flen);
+ utf16_to_utf8((u8 *)p, file_name, flen);
if (sanitize_path(fh->path))
goto error;
@@ -216,7 +216,7 @@
static efi_status_t EFIAPI efi_file_open(struct efi_file_handle *file,
struct efi_file_handle **new_handle,
- s16 *file_name, u64 open_mode, u64 attributes)
+ u16 *file_name, u64 open_mode, u64 attributes)
{
struct file_handle *fh = to_fh(file);
efi_status_t ret;
@@ -375,7 +375,7 @@
if (dent->type == FS_DT_DIR)
info->attribute |= EFI_FILE_DIRECTORY;
- ascii2unicode((u16 *)info->file_name, dent->name);
+ ascii2unicode(info->file_name, dent->name);
fh->offset++;
@@ -666,7 +666,7 @@
return NULL;
}
- EFI_CALL(ret = f->open(f, &f2, (s16 *)fdp->str,
+ EFI_CALL(ret = f->open(f, &f2, fdp->str,
EFI_FILE_MODE_READ, 0));
if (ret != EFI_SUCCESS)
return NULL;
diff --git a/lib/efi_selftest/efi_selftest_block_device.c b/lib/efi_selftest/efi_selftest_block_device.c
index f038da9..1cdd830 100644
--- a/lib/efi_selftest/efi_selftest_block_device.c
+++ b/lib/efi_selftest/efi_selftest_block_device.c
@@ -387,7 +387,7 @@
}
/* Read file */
- ret = root->open(root, &file, (s16 *)L"hello.txt", EFI_FILE_MODE_READ,
+ ret = root->open(root, &file, L"hello.txt", EFI_FILE_MODE_READ,
0);
if (ret != EFI_SUCCESS) {
efi_st_error("Failed to open file\n");
@@ -431,7 +431,7 @@
#ifdef CONFIG_FAT_WRITE
/* Write file */
- ret = root->open(root, &file, (s16 *)L"u-boot.txt", EFI_FILE_MODE_READ |
+ ret = root->open(root, &file, L"u-boot.txt", EFI_FILE_MODE_READ |
EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
if (ret != EFI_SUCCESS) {
efi_st_error("Failed to open file\n");
@@ -463,7 +463,7 @@
/* Verify file */
boottime->set_mem(buf, sizeof(buf), 0);
- ret = root->open(root, &file, (s16 *)L"u-boot.txt", EFI_FILE_MODE_READ,
+ ret = root->open(root, &file, L"u-boot.txt", EFI_FILE_MODE_READ,
0);
if (ret != EFI_SUCCESS) {
efi_st_error("Failed to open file\n");