efi_loader: simplify show_efi_boot_order()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 24 May 2021 08:48:45 +0000 (10:48 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Tue, 25 May 2021 11:06:58 +0000 (13:06 +0200)
To print a UTF-16 string use %ls instead of converting string to UTF-8.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
cmd/efidebug.c

index 9444eca..4c0facd 100644 (file)
@@ -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);
        }