StdLib: Add multi-byte character support. The normal "narrow" character set is now...
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 15 Jun 2012 19:58:39 +0000 (19:58 +0000)
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 15 Jun 2012 19:58:39 +0000 (19:58 +0000)
commita7a8363d86ec8ad445fb73619b1ca5cac4e56a86
tree2f395fe3d054f5036014cd7eb1f892d7d7333bb0
parentc7907ba2fa68a7515747385bf63b47f5e281c904
StdLib: Add multi-byte character support.  The normal "narrow" character set is now UTF-8 instead of ASCII.

Add library classes which are required by StdLib, but not commonly defined in Platform DSC files, to StdLib.inc.
Modify MB_LEN_MAX to be 4, the maximum length of UTF-8 characters.
Adjust size of internal buffers to be multiples of MB_LEN_MAX instead of assuming 1-byte characters.
Make the XYoffset object public and move its declaration into EfiSysCall.h.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: daryl.mcdaniel@intel.com
Reviewed-by: erik.c.bjorge@intel.com
Reviewed-by: lee.g.rosenbaum@intel.com
Reviewed-by: leroy.p.leahy@intel.com
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13457 6f19259b-4bc3-4df7-8a09-765794883524
15 files changed:
StdLib/Include/Arm/machine/ansi.h
StdLib/Include/Ia32/machine/ansi.h
StdLib/Include/Ipf/machine/ansi.h
StdLib/Include/X64/machine/ansi.h
StdLib/Include/limits.h
StdLib/Include/stdio.h
StdLib/Include/sys/EfiSysCall.h
StdLib/LibC/Locale/Locale.inf
StdLib/LibC/Locale/multibyte_Utf8.c [new file with mode: 0644]
StdLib/LibC/Stdio/fputwc.c
StdLib/LibC/Stdio/makebuf.c
StdLib/LibC/Uefi/Devices/Console/daConsole.c
StdLib/LibC/Uefi/SysCalls.c
StdLib/StdLib.inc
StdLibPrivateInternalFiles/Include/Device/Console.h