4c0d37
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
4c0d37
From: Peter Jones <pjones@redhat.com>
4c0d37
Date: Mon, 18 Nov 2019 13:06:23 -0500
4c0d37
Subject: [PATCH] Implement Print(L"%p", ptr);
4c0d37
4c0d37
Signed-off-by: Peter Jones <pjones@redhat.com>
4c0d37
---
4c0d37
 lib/print.c | 14 ++++++++++++++
4c0d37
 1 file changed, 14 insertions(+)
4c0d37
4c0d37
diff --git a/lib/print.c b/lib/print.c
4c0d37
index 0b823481347..8fdba6ee166 100644
4c0d37
--- a/lib/print.c
4c0d37
+++ b/lib/print.c
4c0d37
@@ -1181,6 +1181,20 @@ Returns:
4c0d37
                 PSETATTR(ps, ps->AttrNorm);
4c0d37
                 break;
4c0d37
 
4c0d37
+            case 'p':
4c0d37
+                Item.Width = sizeof(void *) == (8 ? 16 : 8) + 2;
4c0d37
+                Item.Pad = '0';
4c0d37
+                Item.Scratch[0] = ' ';
4c0d37
+                Item.Scratch[1] = ' ';
4c0d37
+                ValueToHex (
4c0d37
+                    Item.Scratch+2,
4c0d37
+                    Item.Long ? va_arg(ps->args, UINT64) : va_arg(ps->args, UINT32)
4c0d37
+                    );
4c0d37
+                Item.Scratch[0] = '0';
4c0d37
+                Item.Scratch[1] = 'x';
4c0d37
+                Item.Item.pw = Item.Scratch;
4c0d37
+                break;
4c0d37
+
4c0d37
             case 'r':
4c0d37
                 StatusToString (Item.Scratch, va_arg(ps->args, EFI_STATUS));
4c0d37
                 Item.Item.pw = Item.Scratch;