audk/MdePkg/Library/BasePrintLib
Wang, Jian J 701e8cc29a MdePkg/BasePrintLib: Fix incomplete print output
This is caused by previous patch which tried to fix string over-read,
which breaks UEFI menu rendering: the following

/------------------------------------------------------------------------------\
|                               Device Manager                                 |
\------------------------------------------------------------------------------/

is rendered as

/\
|                               Device Manager                                 |
\/.0                                                 2.00 GHz

(the spurious digits are SMBIOS data from the home screen)

The problem appears to be that the CHAR16 value of BOXDRAW_HORIZONTAL
equals 0x2500, which means that testing ArgumentString[] != '\0'
(which tests the low byte only) will yield FALSE and terminate the
loop prematurely.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-01-02 16:31:19 +08:00
..
BasePrintLib.inf MdePkg/BasePrintLib: Refine the SPrint functions 2017-02-21 13:55:13 +08:00
BasePrintLib.uni MdePkg: Convert all .uni files to utf-8 2015-12-15 04:53:50 +00:00
PrintLib.c MdePkg/BasePrintLib: Refine the comment for AsciiValueToStringS API 2017-03-13 11:09:23 +08:00
PrintLibInternal.c MdePkg/BasePrintLib: Fix incomplete print output 2018-01-02 16:31:19 +08:00
PrintLibInternal.h MdePkg/BasePrintLib: Add safe print functions [A|U]ValueToStringS 2017-02-21 13:56:14 +08:00