Here is an observation with PrintLib :
UINT16 myuint16 = 0xFFFF;
Print(L"%d", myuint16) --> displays 65535.
So far, so good.
UINT32 myuint32 = 0xFFFFFFFF;
Print(L"%d", myuint32) --> displays -1
Print(L"%ld", myuint32) --> displays 4294967295.
That is good. %ld handles a 32bit value where all bits are 1.
But the same does not work for a 64bit value:
UINT64 myuint64 = 0xFFFFFFFFFFFFFFFF;
Print(L"%ld", myuint64) --> displays -1
According to the library header file at MdePkg\Include\Library\PrintLib.h,
using "%Ld" should indicate UINT64. However, the code seems to use INT64.
Thanks,
--Samer
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel