mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-31 11:31:32 +00:00
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>
This commit is contained in:
parent
0bc81a717d
commit
c82f8f600a
3 changed files with 11 additions and 11 deletions
|
@ -909,7 +909,7 @@ struct efi_file_handle {
|
||||||
u64 rev;
|
u64 rev;
|
||||||
efi_status_t (EFIAPI *open)(struct efi_file_handle *file,
|
efi_status_t (EFIAPI *open)(struct efi_file_handle *file,
|
||||||
struct efi_file_handle **new_handle,
|
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 *close)(struct efi_file_handle *file);
|
||||||
efi_status_t (EFIAPI *delete)(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,
|
efi_status_t (EFIAPI *read)(struct efi_file_handle *file,
|
||||||
|
|
|
@ -148,7 +148,7 @@ static int sanitize_path(char *path)
|
||||||
* Returns: handle to the opened file or NULL
|
* Returns: handle to the opened file or NULL
|
||||||
*/
|
*/
|
||||||
static struct efi_file_handle *file_open(struct file_system *fs,
|
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)
|
u64 attributes)
|
||||||
{
|
{
|
||||||
struct file_handle *fh;
|
struct file_handle *fh;
|
||||||
|
@ -157,8 +157,8 @@ static struct efi_file_handle *file_open(struct file_system *fs,
|
||||||
int flen = 0;
|
int flen = 0;
|
||||||
|
|
||||||
if (file_name) {
|
if (file_name) {
|
||||||
utf16_to_utf8((u8 *)f0, (u16 *)file_name, 1);
|
utf16_to_utf8((u8 *)f0, file_name, 1);
|
||||||
flen = u16_strlen((u16 *)file_name);
|
flen = u16_strlen(file_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we could have a parent, but also an absolute path: */
|
/* we could have a parent, but also an absolute path: */
|
||||||
|
@ -183,7 +183,7 @@ static struct efi_file_handle *file_open(struct file_system *fs,
|
||||||
*p++ = '/';
|
*p++ = '/';
|
||||||
}
|
}
|
||||||
|
|
||||||
utf16_to_utf8((u8 *)p, (u16 *)file_name, flen);
|
utf16_to_utf8((u8 *)p, file_name, flen);
|
||||||
|
|
||||||
if (sanitize_path(fh->path))
|
if (sanitize_path(fh->path))
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -216,7 +216,7 @@ error:
|
||||||
|
|
||||||
static efi_status_t EFIAPI efi_file_open(struct efi_file_handle *file,
|
static efi_status_t EFIAPI efi_file_open(struct efi_file_handle *file,
|
||||||
struct efi_file_handle **new_handle,
|
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);
|
struct file_handle *fh = to_fh(file);
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
|
@ -375,7 +375,7 @@ static efi_status_t dir_read(struct file_handle *fh, u64 *buffer_size,
|
||||||
if (dent->type == FS_DT_DIR)
|
if (dent->type == FS_DT_DIR)
|
||||||
info->attribute |= EFI_FILE_DIRECTORY;
|
info->attribute |= EFI_FILE_DIRECTORY;
|
||||||
|
|
||||||
ascii2unicode((u16 *)info->file_name, dent->name);
|
ascii2unicode(info->file_name, dent->name);
|
||||||
|
|
||||||
fh->offset++;
|
fh->offset++;
|
||||||
|
|
||||||
|
@ -666,7 +666,7 @@ struct efi_file_handle *efi_file_from_path(struct efi_device_path *fp)
|
||||||
return NULL;
|
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));
|
EFI_FILE_MODE_READ, 0));
|
||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -387,7 +387,7 @@ static int execute(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read file */
|
/* 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);
|
0);
|
||||||
if (ret != EFI_SUCCESS) {
|
if (ret != EFI_SUCCESS) {
|
||||||
efi_st_error("Failed to open file\n");
|
efi_st_error("Failed to open file\n");
|
||||||
|
@ -431,7 +431,7 @@ static int execute(void)
|
||||||
|
|
||||||
#ifdef CONFIG_FAT_WRITE
|
#ifdef CONFIG_FAT_WRITE
|
||||||
/* Write file */
|
/* 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);
|
EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
|
||||||
if (ret != EFI_SUCCESS) {
|
if (ret != EFI_SUCCESS) {
|
||||||
efi_st_error("Failed to open file\n");
|
efi_st_error("Failed to open file\n");
|
||||||
|
@ -463,7 +463,7 @@ static int execute(void)
|
||||||
|
|
||||||
/* Verify file */
|
/* Verify file */
|
||||||
boottime->set_mem(buf, sizeof(buf), 0);
|
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);
|
0);
|
||||||
if (ret != EFI_SUCCESS) {
|
if (ret != EFI_SUCCESS) {
|
||||||
efi_st_error("Failed to open file\n");
|
efi_st_error("Failed to open file\n");
|
||||||
|
|
Loading…
Add table
Reference in a new issue