[PATCH 2/4] efi_loader: simplify show_efi_boot_order()

Heinrich Schuchardt xypron.glpk at gmx.de
Mon May 24 11:56:54 CEST 2021


To print a UTF-16 string use %ls instead of converting string to UTF-8.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 cmd/efidebug.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/cmd/efidebug.c b/cmd/efidebug.c
index 9444eca49c..4c0facd26c 100644
--- a/cmd/efidebug.c
+++ b/cmd/efidebug.c
@@ -1317,8 +1317,6 @@ static int show_efi_boot_order(void)
 	u16 var_name16[9], *p16;
 	void *data;
 	struct efi_load_option lo;
-	char *label, *p;
-	size_t label_len16, label_len;
 	efi_status_t ret;

 	size = 0;
@@ -1380,18 +1378,7 @@ static int show_efi_boot_order(void)
 			goto out;
 		}

-		label_len16 = u16_strlen(lo.label);
-		label_len = utf16_utf8_strnlen(lo.label, label_len16);
-		label = malloc(label_len + 1);
-		if (!label) {
-			free(data);
-			ret = CMD_RET_FAILURE;
-			goto out;
-		}
-		p = label;
-		utf16_utf8_strncpy(&p, lo.label, label_len16);
-		printf("%2d: %s: %s\n", i + 1, var_name, label);
-		free(label);
+		printf("%2d: %s: %ls\n", i + 1, var_name, lo.label);

 		free(data);
 	}
--
2.30.2



More information about the U-Boot mailing list