From 79ad8397ea6a8d8151740c6effd2f4c4c74f78a6 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 26 May 2016 21:48:39 +0000 Subject: [PATCH] Output the device path description for EFI network devices. Lookup the DEVICE_PATH for each EFI network device handle and output the string description using printf with '%S'. To honor the pager, the newline at the end of each line is still output with pager_output(). Sponsored by: Cisco Systems --- sys/boot/efi/libefi/efinet.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/boot/efi/libefi/efinet.c b/sys/boot/efi/libefi/efinet.c index 4d367b5d36a..6f3f5a0f443 100644 --- a/sys/boot/efi/libefi/efinet.c +++ b/sys/boot/efi/libefi/efinet.c @@ -325,15 +325,20 @@ efinet_dev_init() static void efinet_dev_print(int verbose) { - char line[80]; + CHAR16 *text; EFI_HANDLE h; int unit; pager_open(); for (unit = 0, h = efi_find_handle(&efinet_dev, 0); h != NULL; h = efi_find_handle(&efinet_dev, ++unit)) { - sprintf(line, " %s%d:\n", efinet_dev.dv_name, unit); - if (pager_output(line)) + printf(" %s%d:", efinet_dev.dv_name, unit); + text = efi_devpath_name(efi_lookup_devpath(h)); + if (text != NULL) { + printf(" %S", text); + efi_free_devpath_name(text); + } + if (pager_output("\n")) break; } pager_close();