浏览代码

Add %D to print device paths

Add %D to print device paths.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
Peter Jones 7 年之前
父节点
当前提交
28793041d7
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      lib/print.c

+ 13 - 0
lib/print.c

@@ -1005,6 +1005,7 @@ Routine Description:
     t       -   EFI time structure
     g       -   Pointer to GUID
     r       -   EFI status code (result code)
+    D       -   pointer to Device Path with normal ending.
 
     N       -   Set output attribute to normal
     H       -   Set output attribute to highlight
@@ -1167,6 +1168,18 @@ Returns:
                 Item.Item.pw = Item.Scratch;
                 break;
 
+            case 'D':
+            {
+                EFI_DEVICE_PATH *dp = va_arg(ps->args, EFI_DEVICE_PATH *);
+                CHAR16 *dpstr = DevicePathToStr(dp);
+                StrnCpy(Item.Scratch, dpstr, PRINT_ITEM_BUFFER_LEN);
+                Item.Scratch[PRINT_ITEM_BUFFER_LEN-1] = L'\0';
+                FreePool(dpstr);
+
+                Item.Item.pw = Item.Scratch;
+                break;
+            }
+
             case 'f':
                 FloatToString (
                     Item.Scratch,