audk/MdePkg/Library
Hao Wu 0dab57708d MdePkg/BaseLib: AsciiStrToUnicodeStr(S) not handle EASCII properly
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1262

Current implementation of BaseLib APIs:

AsciiStrToUnicodeStr()
AsciiStrToUnicodeStrS()
AsciiStrnToUnicodeStrS()

do not handle EASCII properly.

More specifically, if the value of ASCII character is larger than 0x7F,
then the converted Unicode character will have all '1's in the higher 8
bits.

An example:
  0xC9 => 0xFFC9 (current implementations)
and it should be:
  0xC9 => 0x00C9

This commit will address this issue.

Cc: Bin.Lain <bin_601@mail2000.com.tw>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-10-23 08:45:00 +08:00
..
BaseCacheMaintenanceLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseCpuLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseDebugLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseDebugLibSerialPort MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseDebugPrintErrorLevelLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseExtractGuidedSectionLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseIoLibIntrinsic MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseLib MdePkg/BaseLib: AsciiStrToUnicodeStr(S) not handle EASCII properly 2018-10-23 08:45:00 +08:00
BaseMemoryLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseMemoryLibMmx MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibOptDxe MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibOptPei MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibRepStr MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibSse2 MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseOrderedCollectionRedBlackTreeLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePcdLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciCf8Lib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciExpressLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciLibCf8 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciLibPciExpress MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciSegmentInfoLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciSegmentLibPci MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePeCoffExtraActionLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePeCoffGetEntryPointLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePeCoffLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePerformanceLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePostCodeLibDebug MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePostCodeLibPort80 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePrintLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseReportStatusCodeLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseRngLib MdePkg: Convert all .uni files to utf-8 2015-12-15 04:53:50 +00:00
BaseS3BootScriptLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3IoLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3PciLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3PciSegmentLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3SmbusLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3StallLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseSafeIntLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseSerialPortLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseSmbusLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseStackCheckLib MdePkg BaseStackCheckLib: Correct style of file header 2018-03-20 10:25:06 +08:00
BaseSynchronizationLib MdePkg/BaseSynchronizationLib GCC: simplify IA32 InternalSyncCompareExchange64() 2018-10-17 18:44:51 +02:00
BaseTimerLibNullTemplate MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseUefiDecompressLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeCoreEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeCoreHobLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeExtractGuidedSectionLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeHobLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeHstiLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeIoLibCpuIo2 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxePcdLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeRuntimeDebugLibSerialPort MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeRuntimePciExpressLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeServicesLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeServicesTableLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeSmbusLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PciSegmentLibSegmentInfo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiCoreEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiDxePostCodeLibReportStatusCode MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiExtractGuidedSectionLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiHobLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiIoLibCpuIo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiMemoryAllocationLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiMemoryLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiPcdLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiPciLibPciCfg2 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiPciSegmentLibPciCfg2 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiResourcePublicationLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiServicesLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiServicesTablePointerLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiServicesTablePointerLibIdt MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeiSmbusLibSmbus2Ppi MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeimEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SecPeiDxeTimerLibCpu MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SmiHandlerProfileLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SmmIoLib MdePkg SmmIoLib: Use NULL pointer check instead of useless Status check 2017-06-06 09:07:10 +08:00
SmmIoLibSmmCpuIo2 MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SmmMemLib MdePkg/SmmMemLib: Avoid possible NULL ptr dereference 2018-07-31 13:07:44 +08:00
SmmMemoryAllocationLib MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmPciExpressLib MdePkg: Add SMM PciExpressLib Instance 2016-09-27 11:01:23 +08:00
SmmPciLibPciRootBridgeIo MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmPeriodicSmiLib MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmServicesTableLib MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiApplicationEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiBootServicesTableLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDebugLibConOut MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDebugLibDebugPortProtocol MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDebugLibStdErr MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDevicePathLib MdePkg: Use VENDOR_DEVICE_PATH structure for Debug Port device path 2018-10-12 14:46:01 +08:00
UefiDevicePathLibDevicePathProtocol MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDriverEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiFileHandleLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiLib MdePkg UefiLib: Check Table against NULL in ScanTableInSDT 2018-10-21 09:57:44 +08:00
UefiMemoryAllocationLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiMemoryLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiPciLibPciRootBridgeIo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiPciSegmentLibPciRootBridgeIo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiRuntimeLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiRuntimeServicesTableLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiScsiLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiUsbLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00