StdLib: Fix several problems where characters were not being correctly converted between wide and MBCS.
Add utility functions for determining character length of strings. 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 StdLib/LibC/ Locale/multibyte_Utf8.c Improve comments. Define implementation-specific MBCS utility functions, as declared in <stdlib.h>. Enhance functionality of EncodeUtf8() and improve error handling. Set correct conversion state in wcrtomb(). Bug fixes in wcsrtombs(). Make wctob() properly MBCS compliant. Main/Main.c Remove code obsoleted by new wcsrtombs() implementation. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13785 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -113,10 +113,9 @@ DEBUG_CODE_END();
|
||||
for(count = 0; count < Argc; ++count) {
|
||||
nArgv[count] = string;
|
||||
AVsz = wcstombs(string, Argv[count], nArgvSize);
|
||||
string[AVsz] = 0; /* NULL terminate the argument */
|
||||
DEBUG((DEBUG_INFO, "Cvt[%d] %d \"%s\" --> \"%a\"\n", (INT32)count, (INT32)AVsz, Argv[count], nArgv[count]));
|
||||
string += AVsz + 1;
|
||||
nArgvSize -= AVsz + 1;
|
||||
string += AVsz;
|
||||
nArgvSize -= AVsz;
|
||||
if(nArgvSize < 0) {
|
||||
Print(L"ABORTING: Internal Argv[%d] conversion error.\n", count);
|
||||
exit(EXIT_FAILURE);
|
||||
|
Reference in New Issue
Block a user